MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / slotSystemTrayIconTypeChanged

Method slotSystemTrayIconTypeChanged

App/Client/mainwindow.cpp:1811–1871  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1809}
1810
1811void MainWindow::slotSystemTrayIconTypeChanged()
1812{
1813 //qDebug(log) << "MainWindow::slotSystemTrayIconTypeChanged:" << m_Parameter.GetEnableSystemTrayIcon();
1814 if(!QSystemTrayIcon::isSystemTrayAvailable())
1815 {
1816 qWarning(log) << "System tray is not available";
1817 return;
1818 }
1819
1820 if(!m_Parameter.GetEnableSystemTrayIcon())
1821 {
1822 qDebug(log) << "Disable system tray icon";
1823 return;
1824 }
1825
1826 if(m_TrayIcon)
1827 m_TrayIcon.reset();
1828
1829 m_TrayIcon = QSharedPointer<QSystemTrayIcon>(new QSystemTrayIcon(this));
1830 if(QSystemTrayIcon::isSystemTrayAvailable())
1831 {
1832 bool check = connect(
1833 m_TrayIcon.data(),
1834 SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
1835 this,
1836 SLOT(slotSystemTrayIconActivated(QSystemTrayIcon::ActivationReason)));
1837 Q_ASSERT(check);
1838 m_TrayIcon->setIcon(this->windowIcon());
1839 m_TrayIcon->setToolTip(windowTitle());
1840 m_TrayIcon->show();
1841 } else
1842 qWarning(log) << "System tray is not available";
1843
1844 switch (m_Parameter.GetSystemTrayIconMenuType())
1845 {
1846 case CParameterApp::SystemTrayIconMenuType::MenuBar:
1847 {
1848 QMenu* pMenu = new QMenu(this);
1849 pMenu->addMenu(ui->menuOperate);
1850 pMenu->addMenu(ui->menuView);
1851 pMenu->addMenu(ui->menuTools);
1852 m_TrayIcon->setContextMenu(pMenu);
1853 break;
1854 }
1855 case CParameterApp::SystemTrayIconMenuType::Operate:
1856 m_TrayIcon->setContextMenu(ui->menuOperate);
1857 break;
1858 case CParameterApp::SystemTrayIconMenuType::RecentOpen:
1859 m_TrayIcon->setContextMenu(m_pRecentMenu);
1860 break;
1861 case CParameterApp::SystemTrayIconMenuType::View:
1862 m_TrayIcon->setContextMenu(ui->menuView);
1863 break;
1864 case CParameterApp::SystemTrayIconMenuType::Tools:
1865 m_TrayIcon->setContextMenu(ui->menuTools);
1866 break;
1867 case CParameterApp::SystemTrayIconMenuType::No:
1868 m_TrayIcon->setContextMenu(nullptr);

Callers

nothing calls this directly

Calls 3

dataMethod · 0.45

Tested by

no test coverage detected