Lang update, main menu fixes.

This commit is contained in:
Martin Rotter 2014-03-14 07:58:05 +01:00
parent 96bef70547
commit 0866bfd8e9
6 changed files with 39 additions and 22 deletions

View File

@ -533,11 +533,11 @@ Warning messagebox title when selected item cannot be edited.</extracomment>
</message>
<message>
<source>Open selected messages in &amp;internal browser</source>
<translation>&amp;Otevřít vybrané zdrojové články v interním prohlížeči</translation>
<translation>&amp;Otevřít vybrané krátké články v interním prohlížeči</translation>
</message>
<message>
<source>Open selected source articles in &amp;internal browser</source>
<translation>&amp;Otevřít vybrané krátké články v interním prohlížeči</translation>
<translation>&amp;Otevřít vybrané zdrojové články v interním prohlížeči</translation>
</message>
<message>
<source>&amp;Mark all feeds as &amp;read</source>

View File

@ -11,6 +11,7 @@ Fixed:
Added:
<ul>
<li>Toolbutton-based main menu.</li>
<li>User can enable/disable web browser javascript, external plugins and images auto-loading (bug #9).</li>
<li>Custom counts of messages in feed list (issue #14) are now changeable.</li>
<li>Feed list categories expand status is now persistent.</li>
@ -21,7 +22,7 @@ Added:
Changed:
<ul>
<li>Several keayboard shortcuts + accelerators changed.</li>
<li>Several keyboard shortcuts + accelerators changed.</li>
<li>Message list optimizations done.</li>
<li>"Check for updates" dialog tweaked.</li>
</ul>

View File

@ -21,6 +21,7 @@
#include <QToolButton>
// TODO: potřebuju extra třídu? mozna presunout do tabwidgetu.
class CornerButton : public QToolButton {
Q_OBJECT

View File

@ -70,7 +70,6 @@ FormMain::FormMain(QWidget *parent)
addActions(allActions());
// Prepare tabs.
m_ui->m_tabWidget->setupMainMenuButton();
m_ui->m_tabWidget->initializeTabs();
// Setup some appearance of the window.

View File

@ -32,10 +32,10 @@
#include <QMenu>
TabWidget::TabWidget(QWidget *parent) : QTabWidget(parent) {
TabWidget::TabWidget(QWidget *parent) : QTabWidget(parent), m_mainMenu(NULL) {
setTabBar(new TabBar(this));
setupCornerButton();
setupMainMenuButton();
createConnections();
}
@ -49,26 +49,41 @@ void TabWidget::setupCornerButton() {
}
void TabWidget::setupMainMenuButton() {
m_mainMenu = new QMenu("Main menu", this);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuFile);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuView);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuFeeds);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuMessages);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuTools);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuHelp);
m_menuButton = new QToolButton(this);
m_menuButton->setAutoRaise(true);
m_menuButton->setToolTip(tr("Displays main menu."));
m_menuButton->setIcon(IconThemeFactory::instance()->fromTheme("application-menu"));
m_menuButton->setPopupMode(QToolButton::InstantPopup);
m_menuButton->setMenu(m_mainMenu);
connect(m_menuButton, SIGNAL(clicked()), this, SLOT(openMainMenu()));
setCornerWidget(m_menuButton, Qt::TopLeftCorner);
}
bool TabWidget::openMainMenu() {
if (m_mainMenu == NULL) {
m_mainMenu = new QMenu(tr("Main menu"), this);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuFile);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuView);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuFeeds);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuMessages);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuTools);
m_mainMenu->addMenu(FormMain::instance()->m_ui->m_menuHelp);
}
QPoint button_position = m_menuButton->pos();
QSize target_size = m_menuButton->size() / 2.0;
button_position.setX(button_position.x() + target_size.width());
button_position.setY(button_position.y() + target_size.height());
m_mainMenu->exec(mapToGlobal(button_position));
}
void TabWidget::checkTabBarVisibility() {
tabBar()->setVisible(count() > 1 || !Settings::instance()->value(APP_CFG_GUI,
"hide_tabbar_one_tab",
true).toBool());
"hide_tabbar_one_tab",
true).toBool());
}
void TabWidget::tabInserted(int index) {
@ -224,8 +239,8 @@ int TabWidget::addLinkedBrowser(const QString &initial_url) {
int TabWidget::addLinkedBrowser(const QUrl &initial_url) {
return addBrowser(Settings::instance()->value(APP_CFG_BROWSER,
"queue_tabs",
true).toBool(),
"queue_tabs",
true).toBool(),
false,
initial_url);
}

View File

@ -63,8 +63,6 @@ class TabWidget : public QTabWidget {
// of main "Feeds" widget.
void initializeTabs();
void setupMainMenuButton();
// Sets up icons for this TabWidget.
void setupIcons();
@ -79,11 +77,12 @@ class TabWidget : public QTabWidget {
// Sets up properties of custom corner button.
void setupCornerButton();
void setupMainMenuButton();
// Handlers of insertin/removing of tabs.
void tabInserted(int index);
void tabRemoved(int index);
public slots:
// Fixes tabs indexes.
void fixContentAfterIndexChange(int from);
@ -103,6 +102,8 @@ class TabWidget : public QTabWidget {
bool closeTab(int index);
bool closeCurrentTab();
bool openMainMenu();
// Closes all "closable" tabs except the active tab.
void closeAllTabsExceptCurrent();