예제 #1
0
 bool QueryWidget::eventFilter(QObject *o, QEvent *e)
 {
     if (e->type() == QEvent::KeyPress) {
         QKeyEvent *keyEvent = (QKeyEvent *) e;
         if (KeyboardManager::isPreviousTabShortcut(keyEvent)) {
             _tabWidget->previousTab();
             return true;
         } else if (KeyboardManager::isNextTabShortcut(keyEvent)) {
             _tabWidget->nextTab();
             return true;
         } else if (KeyboardManager::isNewTabShortcut(keyEvent)) {
             openNewTab();
             return true;
         } else if (KeyboardManager::isSetFocusOnQueryLineShortcut(keyEvent)) {
             _scriptWidget->setScriptFocus();
             return true;
         } else if (KeyboardManager::isExecuteScriptShortcut(keyEvent)) {
             execute();
             return true;
         } else if (KeyboardManager::isAutoCompleteShortcut(keyEvent)) {
             _scriptWidget->showAutocompletion();
             return true;
         } else if (KeyboardManager::isHideAutoCompleteShortcut(keyEvent)) {
             _scriptWidget->hideAutocompletion();
             return true;
         }
     }
     return false;
 }
예제 #2
0
void mySpaces::openNewTab(QUrl url)
{
    for(int i = 0; i < tabs->count(); i++)
    {
        tabPage * tab = static_cast<tabPage*>(tabs->widget(i));
        if(tab->url().toString() == url.toString())
        {
            tabs->setCurrentIndex(i);
            return;
        }
    }
    tabPage * tab = new tabPage(tabs);
    tab->load(url);
    tabs->addTab(tab,QIcon(":/myspaces/t_icon_home.png"),"mySpaces");
    connect(tab, SIGNAL(OpenLinkInNewTab(QUrl)),SLOT(openNewTab(QUrl)));
    connect(tab, SIGNAL(changeTitle(QString)),
            this, SLOT(refreshTitles(QString)));
    connect(tab, SIGNAL(exitApplication()), SLOT(exitApp()));
    if(url.toString().startsWith("myspaces://"))
        tabs->setCurrentWidget(tab);
    if(tabs->count()>1)
        tabs->setMovable(true);
    else
        tabs->setMovable(false);
    resizeTabs();
}
예제 #3
0
void mySpaces::initForm()
{
    tabs = new QTabWidget(this);

    tabs->setTabsClosable(true);
    connect(tabs, SIGNAL(tabCloseRequested(int)), SLOT(closeTab(int)));

    setCentralWidget(tabs);
    resize(mySpacesSettings->settings.WindowW(),
           mySpacesSettings->settings.WindowH());
    if(mySpacesSettings->settings.WindowMax())
        showMaximized();
    else
        move(mySpacesSettings->settings.WindowX(),
             mySpacesSettings->settings.WindowY());

    openNewTab(QUrl("myspaces://mainpage"));
}
예제 #4
0
QMenuBar * ServerChoice::createMenuBar(MainEngine *w)
{
    QMenuBar *ret = new QMenuBar();

    //TODO : Add menu allowing to change port / registry IP / ??

    QMenu *fileMenu = ret->addMenu(tr("&File"));
    fileMenu->addAction(tr("&Load team"), this, SLOT(loadTeam()), tr("Ctrl+L", "Load team"));
    fileMenu->addAction(tr("New &tab"), w, SLOT(openNewTab()), tr("Ctrl+T", "New tab"));
    fileMenu->addAction(tr("Close tab"), w, SLOT(closeTab()), tr("Ctrl+W", "Close tab"));
    fileMenu->addSeparator();
    fileMenu->addAction(tr("&Quit"),w,SLOT(quit()),tr("Ctrl+Q", "Quit"));

    w->addThemeMenu(ret);
    w->addStyleMenu(ret);

    return ret;
}
예제 #5
0
QMenuBar * ServerChoice::createMenuBar(MainEngine *w)
{
    QMenuBar *menuBar = new QMenuBar();

    //TODO : Add menu allowing to change port / registry IP / ??

    QMenu *fileMenu = menuBar->addMenu(tr("&File"));
    fileMenu->addAction(tr("&Load team"), this, SLOT(loadTeam()), tr("Ctrl+L", "Load team"));
    fileMenu->addAction(tr("New &tab"), w, SLOT(openNewTab()), tr("Ctrl+T", "New tab"));
    fileMenu->addAction(tr("Close tab"), w, SLOT(closeTab()), tr("Ctrl+W", "Close tab"));
    fileMenu->addSeparator();
    fileMenu->addAction(tr("&Quit"),w,SLOT(quit()),tr("Ctrl+Q", "Quit"));

    w->addThemeMenu(menuBar);
    w->addStyleMenu(menuBar);
    w->addLanguageMenu(menuBar);

    QMenu *helpMenu = menuBar->addMenu(tr("&About"));
    helpMenu->addAction(tr("&Credits"), w, SLOT(launchCredits()));

    return menuBar;
}
예제 #6
0
void tab::openLinkInNewTab()
{
    emit openNewTab(webView->page()->mainFrame()->hitTestContent(clickPos).linkUrl());
}
예제 #7
0
 void QueryWidget::duplicate()
 {
     _scriptWidget->selectAll();
     openNewTab();
 }