File indexing completed on 2024-04-21 05:50:58

0001 /*
0002     SPDX-FileCopyrightText: 2022 Andrey Butirsky <butirsky@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005     Keeps Menu Bar enabled if user has hidden a Session Toolbar thus no Hamburger Menu button is shown
0006 */
0007 
0008 #include <QApplication>
0009 #include <KAboutData>
0010 #include <KXmlGuiWindow>
0011 #include <KSharedConfig>
0012 #include <KConfigGroup>
0013 #include <QMenuBar>
0014 #include <KToolBar>
0015 
0016 int main (int argc, char *argv[])
0017 {
0018     QApplication app(argc, argv);
0019 
0020     KAboutData::setApplicationData(KAboutData(QStringLiteral("konsole")));
0021 
0022     KXmlGuiWindow mainWindow;
0023     mainWindow.setupGUI(KXmlGuiWindow::Default, QStringLiteral("sessionui.rc"));
0024 
0025     static const char menuBarKey[] = "MenuBar";
0026     // SimpleConfig so that system-wide default won't interfere and hasKey() indicates user defined setting
0027     if (auto cg = KSharedConfig::openConfig(QStringLiteral("konsolerc"), KConfig::OpenFlag::SimpleConfig)->group(QStringLiteral("MainWindow"));
0028         !cg.hasKey(menuBarKey) && mainWindow.menuBar()->isHidden() && mainWindow.toolBar(QStringLiteral("sessionToolbar"))->isHidden()) {
0029         cg.writeEntry(menuBarKey, "Enabled");
0030     }
0031 }