diff --git a/src/gui/dynamicshortcutswidget.cpp b/src/gui/dynamicshortcutswidget.cpp index 594bd9dbb..165fce308 100644 --- a/src/gui/dynamicshortcutswidget.cpp +++ b/src/gui/dynamicshortcutswidget.cpp @@ -77,12 +77,18 @@ void DynamicShortcutsWidget::populate(const QList actions) { row_id++; } else { + QMargins catcher_margins = catcher->contentsMargins(); + catcher_margins.setRight(10); + + catcher->setContentsMargins(catcher_margins); + m_layout->addWidget(label, row_id, 0); m_layout->addWidget(catcher, row_id, 1); + second_column = true; } } // Make sure that "spacer" is added. - m_layout->setRowStretch(row_id, 1); + m_layout->setRowStretch(second_column ? ++row_id : row_id, 1); } diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp index c5186cd25..5a45fd7b5 100644 --- a/src/gui/formmain.cpp +++ b/src/gui/formmain.cpp @@ -60,7 +60,10 @@ QList FormMain::getActions() { QList actions; actions << m_ui->m_actionImport << m_ui->m_actionExport << m_ui->m_actionSettings << m_ui->m_actionQuit << - m_ui->m_actionFullscreen << m_ui->m_actionAboutGuard; + m_ui->m_actionFullscreen << m_ui->m_actionAboutGuard << + m_ui->m_actionAddBrowser << m_ui->m_actionCloseCurrentTab << + m_ui->m_actionCloseAllTabs; + return actions; } @@ -220,5 +223,8 @@ void FormMain::showAbout() { } void FormMain::showSettings() { - FormSettings(this).exec(); + if (FormSettings(this).exec() == QDialog::Accepted) { + // User applied new settings, reload neede components. + m_ui->m_tabWidget->checkTabBarVisibility(); + } } diff --git a/src/gui/formmain.ui b/src/gui/formmain.ui index aa8927f96..0dbf0a05a 100644 --- a/src/gui/formmain.ui +++ b/src/gui/formmain.ui @@ -48,7 +48,7 @@ 0 0 800 - 21 + 19 @@ -158,6 +158,9 @@ Add tab + + Ctrl+Shift+T + @@ -166,11 +169,17 @@ Close all tabs except current one + + Ctrl+Shift+O + Close current &tab + + Ctrl+Shift+C + @@ -182,6 +191,9 @@ No actions are possible at this point of time. + + + diff --git a/src/gui/formsettings.ui b/src/gui/formsettings.ui index 29b2aca7d..6625c587f 100644 --- a/src/gui/formsettings.ui +++ b/src/gui/formsettings.ui @@ -6,8 +6,8 @@ 0 0 - 829 - 414 + 910 + 445 @@ -147,8 +147,8 @@ 0 0 - 581 - 340 + 436 + 196 diff --git a/src/gui/shortcutcatcher.cpp b/src/gui/shortcutcatcher.cpp index 4730618f4..a3165ff6d 100644 --- a/src/gui/shortcutcatcher.cpp +++ b/src/gui/shortcutcatcher.cpp @@ -45,10 +45,12 @@ ShortcutCatcher::ShortcutCatcher(QWidget *parent) m_clearButton = new QToolButton(this); m_clearButton->setIcon(IconThemeFactory::getInstance()->fromTheme("document-revert")); m_clearButton->setFocusPolicy(Qt::NoFocus); + m_clearButton->setToolTip(tr("Reset shortcut.")); // Clear main shortcut catching button. m_sequenceButton = new ShortcutButton(this); m_sequenceButton->setFocusPolicy(Qt::StrongFocus); + m_sequenceButton->setToolTip(tr("Set shortcut.")); // Add both buttons to the layout. m_layout->addWidget(m_sequenceButton); diff --git a/src/gui/tabwidget.cpp b/src/gui/tabwidget.cpp index ec471ba96..cdec02af2 100644 --- a/src/gui/tabwidget.cpp +++ b/src/gui/tabwidget.cpp @@ -27,17 +27,20 @@ void TabWidget::setupCornerButton() { setCornerWidget(m_cornerButton); } -void TabWidget::tabInserted(int index) { - QTabWidget::tabInserted(index); - - // TODO: Opravit tento řádek, aby se korektně tabbar skrýval a objevoval atp. - tabBar()->setVisible(count() > 1 && Settings::getInstance()->value(APP_CFG_GUI, +void TabWidget::checkTabBarVisibility() { + tabBar()->setVisible(count() > 1 || !Settings::getInstance()->value(APP_CFG_GUI, "hide_tabbar_one_tab", true).toBool()); } +void TabWidget::tabInserted(int index) { + QTabWidget::tabInserted(index); + checkTabBarVisibility(); +} + void TabWidget::tabRemoved(int index) { QTabWidget::tabRemoved(index); + checkTabBarVisibility(); } void TabWidget::createConnections() { diff --git a/src/gui/tabwidget.h b/src/gui/tabwidget.h index e246c2dfb..de14f4b29 100644 --- a/src/gui/tabwidget.h +++ b/src/gui/tabwidget.h @@ -47,16 +47,20 @@ class TabWidget : public QTabWidget { // Sets up properties of custom corner button. void setupCornerButton(); + // Handlers of insertin/removing of tabs. void tabInserted(int index); void tabRemoved(int index); public slots: + // Fixes tabs indexes. void fixContentAfterIndexChange(int from); void fixContentsAfterMove(int from, int to); // Fixes indexes of tab contents. void fixContentsIndexes(int starting_index, int ending_index); + void checkTabBarVisibility(); + // Changes icon/text of the tab. void changeTitle(int index, const QString &new_title); void changeIcon(int index, const QIcon &new_icon);