aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-17 18:03:29 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-17 18:03:29 +0000
commitd002b38dddc05e466d3f41580957ede3de209dd4 (patch)
tree4936ab7a03883fac46b088e157eb0727032bce2d /examples/GuiClient
parentf1dfdfa16774170973fcf8688e6769c96671c37c (diff)
downloadqxmpp-d002b38dddc05e466d3f41580957ede3de209dd4.tar.gz
get rid of pushButton triangle when menu is set
Diffstat (limited to 'examples/GuiClient')
-rw-r--r--examples/GuiClient/mainDialog.cpp29
-rw-r--r--examples/GuiClient/mainDialog.h3
2 files changed, 23 insertions, 9 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp
index c7e5c7dc..fbf7ae43 100644
--- a/examples/GuiClient/mainDialog.cpp
+++ b/examples/GuiClient/mainDialog.cpp
@@ -51,7 +51,8 @@ mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window),
m_rosterItemSortFilterModel(this), m_vCardCache(&m_xmppClient),
m_capabilitiesCache(&m_xmppClient), m_accountsCache(this),
m_trayIcon(this), m_trayIconMenu(this), m_quitAction("Quit", this),
- m_signOutAction("Sign out", this)
+ m_signOutAction("Sign out", this),
+ m_settingsMenu(0)
{
ui->setupUi(this);
createTrayIconAndMenu();
@@ -184,6 +185,11 @@ mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window),
&m_consoleDlg,
SLOT(message(QXmppLogger::MessageType, const QString &)));
Q_ASSERT(check);
+
+ check = connect(ui->pushButton_settings,
+ SIGNAL(pressed()),
+ SLOT(action_settingsPressed()));
+ Q_ASSERT(check);
}
void mainDialog::rosterChanged(const QString& bareJid)
@@ -662,21 +668,21 @@ void mainDialog::createTrayIconAndMenu()
void mainDialog::createSettingsMenu()
{
- QMenu* settingsMenu = new QMenu(ui->pushButton_settings);
- ui->pushButton_settings->setMenu(settingsMenu);
+ m_settingsMenu = new QMenu(ui->pushButton_settings);
+// ui->pushButton_settings->setMenu(m_settingsMenu);
QAction* aboutDlg = new QAction("About", ui->pushButton_settings);
connect(aboutDlg, SIGNAL(triggered()), SLOT(action_aboutDlg()));
- settingsMenu->addAction(aboutDlg);
+ m_settingsMenu->addAction(aboutDlg);
- settingsMenu->addSeparator();
+ m_settingsMenu->addSeparator();
QAction* showXml = new QAction("Show XML Console...", ui->pushButton_settings);
connect(showXml, SIGNAL(triggered()), SLOT(action_showXml()));
- settingsMenu->addAction(showXml);
+ m_settingsMenu->addAction(showXml);
QMenu* viewMenu = new QMenu("View", ui->pushButton_settings);
- settingsMenu->addMenu(viewMenu);
+ m_settingsMenu->addMenu(viewMenu);
QAction* showOfflineContacts = new QAction("Show offline contacts", ui->pushButton_settings);
showOfflineContacts->setCheckable(true);
@@ -692,8 +698,8 @@ void mainDialog::createSettingsMenu()
&m_rosterItemSortFilterModel, SLOT(sortByName(bool)));
viewMenu->addAction(sortByName);
- settingsMenu->addSeparator();
- settingsMenu->addAction(&m_quitAction);
+ m_settingsMenu->addSeparator();
+ m_settingsMenu->addAction(&m_quitAction);
}
void mainDialog::closeEvent(QCloseEvent *event)
@@ -880,3 +886,8 @@ void mainDialog::action_aboutDlg()
aboutDialog abtDlg(this);
abtDlg.exec();
}
+
+void mainDialog::action_settingsPressed()
+{
+ m_settingsMenu->exec(ui->pushButton_settings->mapToGlobal(QPoint(0, ui->pushButton_settings->height())));
+}
diff --git a/examples/GuiClient/mainDialog.h b/examples/GuiClient/mainDialog.h
index 8453aa1a..0da0b7d2 100644
--- a/examples/GuiClient/mainDialog.h
+++ b/examples/GuiClient/mainDialog.h
@@ -94,6 +94,7 @@ private slots:
void action_showXml();
void action_aboutDlg();
+ void action_settingsPressed();
private:
void loadAccounts();
@@ -122,6 +123,8 @@ private:
QAction m_signOutAction;
xmlConsoleDialog m_consoleDlg;
+
+ QMenu* m_settingsMenu;
};
#endif // MAINDIALOG_H