Ejemplo n.º 1
0
MainWindow::MainWindow(const QUrl& url)
{
    progress = 0;

    QFile file;
    file.setFileName(":/jquery.min.js");
    file.open(QIODevice::ReadOnly);
    jQuery = file.readAll();
    file.close();
//! [1]

    QNetworkProxyFactory::setUseSystemConfiguration(true);

//! [2]
    view = new QWebView(this);
    view->load(url);
    connect(view, SIGNAL(loadFinished(bool)), SLOT(adjustLocation()));
    connect(view, SIGNAL(titleChanged(QString)), SLOT(adjustTitle()));
    connect(view, SIGNAL(loadProgress(int)), SLOT(setProgress(int)));
    connect(view, SIGNAL(loadFinished(bool)), SLOT(finishLoading(bool)));

    locationEdit = new QLineEdit(this);
    locationEdit->setSizePolicy(QSizePolicy::Expanding, locationEdit->sizePolicy().verticalPolicy());
    connect(locationEdit, SIGNAL(returnPressed()), SLOT(changeLocation()));

    QToolBar *toolBar = addToolBar(tr("Navigation"));
    toolBar->addAction(view->pageAction(QWebPage::Back));
    toolBar->addAction(view->pageAction(QWebPage::Forward));
    toolBar->addAction(view->pageAction(QWebPage::Reload));
    toolBar->addAction(view->pageAction(QWebPage::Stop));
    toolBar->addWidget(locationEdit);
//! [2]

    QMenu *viewMenu = menuBar()->addMenu(tr("&View"));
    QAction* viewSourceAction = new QAction("Page Source", this);
    connect(viewSourceAction, SIGNAL(triggered()), SLOT(viewSource()));
    viewMenu->addAction(viewSourceAction);

//! [3]
    QMenu *effectMenu = menuBar()->addMenu(tr("&Effect"));
    effectMenu->addAction("Highlight all links", this, SLOT(highlightAllLinks()));

    rotateAction = new QAction(this);
    rotateAction->setIcon(style()->standardIcon(QStyle::SP_FileDialogDetailedView));
    rotateAction->setCheckable(true);
    rotateAction->setText(tr("Turn images upside down"));
    connect(rotateAction, SIGNAL(toggled(bool)), this, SLOT(rotateImages(bool)));
    effectMenu->addAction(rotateAction);

    QMenu *toolsMenu = menuBar()->addMenu(tr("&Tools"));
    toolsMenu->addAction(tr("Remove GIF images"), this, SLOT(removeGifImages()));
    toolsMenu->addAction(tr("Remove all inline frames"), this, SLOT(removeInlineFrames()));
    toolsMenu->addAction(tr("Remove all object elements"), this, SLOT(removeObjectElements()));
    toolsMenu->addAction(tr("Remove all embedded elements"), this, SLOT(removeEmbeddedElements()));

    setCentralWidget(view);
    setUnifiedTitleAndToolBarOnMac(true);
}
Ejemplo n.º 2
0
void IncludeDiagramView::viewFileSource()
    {
    size_t index = mIncludeDiagram.getNodeIndex(mNullDrawer, sStartPosInfo);
    if(index != IncludeDrawer::NO_INDEX)
        {
        IncludeNode const &node = mIncludeDiagram.getNodes()[index];
        viewSource(mGuiOptions, node.getName(), 0);
        }
    }
Ejemplo n.º 3
0
void PortionDiagramView::viewClassSource()
    {
    ModelClassifier const *classifier = mPortionDiagram.getCurrentClass();
    if(classifier && classifier->getModule())
        {
        viewSource(mGuiOptions, classifier->getModule()->getModulePath(),
        classifier->getLineNum());
        }
    }
Ejemplo n.º 4
0
void Contexts::displayComponentDiagram()
    {
    // The component list should be available all the time as long as a
    // component can be selected.
//    if(mProject.isAnalysisReady())
        {
        std::string fn = mComponentList.getSelectedFileName();
        if(fn.length() > 0)
            {
            viewSource(mProject.getGuiOptions(), fn, 1);
            }
        }
    }
void toPLSQLEditor::changePackage(const QModelIndex &current, const QModelIndex &previous)
{
    toBusy busy;

//     qDebug() << "toDebug::changePackage 1";
    toCodeModelItem *item = static_cast<toCodeModelItem*>(current.internalPointer());
    if (item && item->parent())
    {
        QString ctype = item->parent()->display();
        if (ctype.isEmpty() || ctype == "Code")
            return;
        ctype = ctype.toUpper();

        viewSource(Schema->currentText(), item->display(), ctype, 0);
        if (ctype == "PACKAGE" ||
                (ctype == "TYPE" && hasCode(Schema->currentText(), ctype + " BODY", item->display())))
            viewSource(Schema->currentText(), item->display(), ctype + " BODY", 0);
    }
#ifdef AUTOEXPAND
    else if (item && !item->parent())
        item->setOpen(true);
#endif
// qDebug() << "toDebug::changePackage 2";
}
Ejemplo n.º 6
0
/** GUI setup
 */
spqrMainWindow::spqrMainWindow(int argc, char *argv[], QWidget *parent)
    : QMainWindow(parent), MruHelper("spqr")
{
    statusBar()->showMessage(tr("spqr Setup"));

    lqPreferences p;
    p.loadGeometry(this);

    con = new ConsoleEdit(argc, argv);
    connect(con, SIGNAL(engine_ready()), this, SLOT(engineReady()));

    make_tabs();

    QMenu *m = menuBar()->addMenu(tr("&File"));
    m->setStatusTip(tr("Show File operations"));
    m->addAction(tr("&New..."), this, SLOT(newFile()), QKeySequence::New)->setStatusTip(tr("Create a new file"));
    m->addAction(tr("&Open..."), this, SLOT(openFile()), QKeySequence::Open)->setStatusTip(tr("Open an existing file"));
    m->addMenu(mruMenu = new QMenu(tr("Recent &Files...")))->setStatusTip(tr("List recently opened files"));
    loadMru(p, this);
    m->addSeparator();
    m->addAction(tr("&Save"), this, SLOT(saveFile()), QKeySequence::Save)->setStatusTip(tr("Save the document to disk"));
    m->addAction(tr("Save &As..."), this, SLOT(saveFileAs()), QKeySequence::SaveAs)->setStatusTip(tr("Save the document under a new name"));

    m->addSeparator();
    m->addAction(tr("&Quit"), qApp, SLOT(quit()), QKeySequence::Quit)->setStatusTip(tr("Exit the application"));

    // detach the background processor to avoid a random GPF exiting the program
    connect(qApp, &QApplication::aboutToQuit, []() { SwiPrologEngine::quit_request(); });

    menuBar()->addSeparator();
    menuBar()->addAction("&Exec", this, SLOT(execSource()))->setStatusTip(tr("Run Prolog Source code"));
    menuBar()->addAction("&Source", this, SLOT(viewSource()))->setStatusTip(tr("Show the Prolog source window"));
    menuBar()->addAction("&Console", this, SLOT(viewConsole()))->setStatusTip(tr("Show the SWI-Prolog console"));
    menuBar()->addAction("&Help", this, SLOT(viewHelp()))->setStatusTip(tr("Show SWI-Prolog helpDoc"));

    lastDir = p.value("lastDir").toString();
    QString currFile = p.value("fileSource").toString();
    if (argc >= 2)
        currFile = argv[1];
    if (currFile.length())
        openSourceFile(currFile);
}
Ejemplo n.º 7
0
MainWindow::MainWindow(const QUrl& url)
{
    progress = 0;

    QFile file;
    file.setFileName(":/jquery.min.js");
    file.open(QIODevice::ReadOnly);
    jQuery = file.readAll();
    jQuery.append("\nvar qt = { 'jQuery': jQuery.noConflict(true) };");
    file.close();
//! [1]

    QNetworkProxyFactory::setUseSystemConfiguration(true);

//! [2]
    view = new QWebView(this);
    view->load(url);
    connect(view, SIGNAL(loadFinished(bool)), SLOT(adjustLocation()));
    connect(view, SIGNAL(titleChanged(QString)), SLOT(adjustTitle()));
    connect(view, SIGNAL(loadProgress(int)), SLOT(setProgress(int)));
    connect(view, SIGNAL(loadFinished(bool)), SLOT(finishLoading(bool)));

    locationEdit = new QLineEdit(this);
    locationEdit->setSizePolicy(QSizePolicy::Expanding, locationEdit->sizePolicy().verticalPolicy());
    connect(locationEdit, SIGNAL(returnPressed()), SLOT(changeLocation()));

    QToolBar *toolBar = addToolBar(tr("导航"));
    toolBar->addAction(view->pageAction(QWebPage::Back));
    toolBar->addAction(view->pageAction(QWebPage::Forward));
    toolBar->addAction(view->pageAction(QWebPage::Reload));
    toolBar->addAction(view->pageAction(QWebPage::Stop));
    toolBar->addWidget(locationEdit);
//! [2]
    QMenu *fileMenu = menuBar()->addMenu(tr("文件(&F)"));
    QAction *newWindowAction = new QAction(tr("新建窗口"),this);
    connect(newWindowAction, SIGNAL(triggered()),SLOT(newWindow()));
    fileMenu->addAction(newWindowAction);
    QAction *closeWindowAction = new QAction(tr("关闭窗口"),this);
    connect(closeWindowAction, SIGNAL(triggered()),SLOT(closeWindow()));
    fileMenu->addAction(closeWindowAction);

    QMenu *viewMenu = menuBar()->addMenu(tr("查看(&V)"));
    QAction* viewSourceAction = new QAction(tr("页面源代码"), this);
    connect(viewSourceAction, SIGNAL(triggered()), SLOT(viewSource()));
    viewMenu->addAction(view->pageAction(QWebPage::Stop));
    viewMenu->addAction(view->pageAction(QWebPage::Reload));
    viewMenu->addSeparator();
    viewMenu->addAction(viewSourceAction);

//! [3]

    QMenu *historyMenu = menuBar()->addMenu(tr("历史(&H)"));
    historyMenu->addAction(view->pageAction(QWebPage::Back));
    historyMenu->addAction(view->pageAction(QWebPage::Forward));

    QMenu *effectMenu = menuBar()->addMenu(tr("效果(&E)"));
    effectMenu->addAction(tr("高亮所有链接"), this, SLOT(highlightAllLinks()));
    rotateAction = new QAction(this);
    rotateAction->setIcon(style()->standardIcon(QStyle::SP_FileDialogDetailedView));
    rotateAction->setCheckable(true);
    rotateAction->setText(tr("倒转图像"));
    connect(rotateAction, SIGNAL(toggled(bool)), this, SLOT(rotateImages(bool)));
    effectMenu->addAction(rotateAction);

    QMenu *toolsMenu = menuBar()->addMenu(tr("工具(&T)"));
    toolsMenu->addAction(tr("移除 GIF 动画"), this, SLOT(removeGifImages()));
    toolsMenu->addAction(tr("移除所有内联框架"), this, SLOT(removeInlineFrames()));
    toolsMenu->addAction(tr("移除所有对象元素"), this, SLOT(removeObjectElements()));
    toolsMenu->addAction(tr("移除所有嵌入元素"), this, SLOT(removeEmbeddedElements()));

	QMenu *helpMenu = menuBar()->addMenu(tr("帮助(&H)"));
	helpMenu->addAction(tr("关于 Looplorer"), this, SLOT(aboutLooplorer()));

	setCentralWidget(view);
    setUnifiedTitleAndToolBarOnMac(true);

	view->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
	clickLink();

    windowNum++;

}
Ejemplo n.º 8
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow),
    currentFile(NULL),
    renderLabel(new QLabel)
{
    ui->setupUi(this);
    statusBar()->addPermanentWidget( renderLabel );

    QComboBox* headerComboBox = new QComboBox( this );

    for ( int i = 1; i <= 6; i++ ) {
        headerComboBox->addItem( QString( "H%1" ).arg( i ), i );
    }

    QAction* separator = ui->toolBar->insertSeparator( ui->actionBold );
    ui->toolBar->insertWidget( separator, headerComboBox );

    // Set font
    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(font.pointSize() +5);
    ui->plainTextEdit->setFont(font);

    const float targetWidth = 67.0;
    // set plaintextedit to 80 character column width
    int columnWidth = round( QFontMetrics(font).averageCharWidth() * targetWidth)
           // + ui->plainTextEdit->contentOffset().x()
            + ui->plainTextEdit->document()->documentMargin();
    ui->plainTextEdit->setFixedWidth(columnWidth);

    new HGMarkdownHighlighter(ui->plainTextEdit->document(), 1000);

    ui->actionNew->setShortcut(QKeySequence::New);
    ui->actionOpen->setShortcut(QKeySequence::Open);
    ui->actionSave->setShortcut(QKeySequence::Save);
    ui->actionSource->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
    ui->actionDirectory->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_D));
    ui->actionExport_HTML->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_E));

    connect(ui->plainTextEdit, SIGNAL(textChanged()),this, SLOT(textChanged()));
    connect(ui->actionNew, SIGNAL(triggered()), this, SLOT(fileNew()));
    connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(fileOpen()));
    connect(ui->actionSave, SIGNAL(triggered()), this, SLOT(fileSave()));
    connect(ui->actionExport_HTML, SIGNAL(triggered()), this, SLOT(fileSaveHTML()));
    connect(ui->actionSave_As, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
    connect(ui->actionSource, SIGNAL(triggered()),this,SLOT(viewSource()));
    connect(ui->actionDirectory, SIGNAL(triggered()),this,SLOT(viewDirectory()));
    connect(ui->listView, SIGNAL(clicked(QModelIndex)), this, SLOT(dirViewClicked(QModelIndex)));
    connect( ui->plainTextEdit, SIGNAL( modificationChanged( bool ) ), this, SLOT( setWindowModified( bool ) ) );
    connect( ui->actionAbout, SIGNAL( triggered() ), this, SLOT( about() ) );
    connect( ui->actionAbout_Qt, SIGNAL( triggered() ), this, SLOT( aboutQt() ) );
    connect( headerComboBox, SIGNAL( activated( int ) ), this, SLOT( headerComboBox_activated( int ) ) );

    ui->sourceView->hide();

    ui->listView->hide();

    if(qApp->arguments().size() > 1){
        // a file was given on the command line
        openFile(qApp->arguments().at(1));
    }
    else {
        fileNew();
    }
}
void toPLSQLEditor::showSource(toTreeWidgetItem *item)
{
    if (item)
        viewSource(item->text(2), item->text(0), item->text(3), item->text(1).toInt(), false);
}