void PMShell::slotNewToolbarConfig( ) { createGUI( 0 ); createShellGUI( false ); createGUI( m_pPart ); applyMainWindowSettings( KGlobal::config( ), "Appearance" ); }
void PMShell::updateGUI( ) { saveMainWindowSettings( KGlobal::config( ), "Appearance" ); createGUI( 0 ); createShellGUI( false ); createGUI( m_pPart ); applyMainWindowSettings( KGlobal::config( ), "Appearance" ); }
KWrite::KWrite(KTextEditor::Document *doc) : m_view(0) , m_recentFiles(0) , m_paShowPath(0) , m_paShowMenuBar(0) , m_paShowStatusBar(0) , m_activityResource(0) { if (!doc) { doc = KTextEditor::Editor::instance()->createDocument(0); // enable the modified on disk warning dialogs if any if (qobject_cast<KTextEditor::ModificationInterface *>(doc)) { qobject_cast<KTextEditor::ModificationInterface *>(doc)->setModifiedOnDiskWarning(true); } docList.append(doc); } m_view = doc->createView(this); setCentralWidget(m_view); setupActions(); // signals for the statusbar connect(m_view->document(), &KTextEditor::Document::modifiedChanged, this, &KWrite::modifiedChanged); connect(m_view->document(), SIGNAL(documentNameChanged(KTextEditor::Document*)), this, SLOT(documentNameChanged())); connect(m_view->document(), SIGNAL(readWriteChanged(KTextEditor::Document*)), this, SLOT(documentNameChanged())); connect(m_view->document(), SIGNAL(documentUrlChanged(KTextEditor::Document*)), this, SLOT(urlChanged())); setAcceptDrops(true); connect(m_view, SIGNAL(dropEventPass(QDropEvent*)), this, SLOT(slotDropEvent(QDropEvent*))); setXMLFile(QStringLiteral("kwriteui.rc")); createShellGUI(true); guiFactory()->addClient(m_view); // FIXME: make sure the config dir exists, any idea how to do it more cleanly? QDir(QStandardPaths::writableLocation(QStandardPaths::DataLocation)).mkpath(QStringLiteral(".")); // call it as last thing, must be sure everything is already set up ;) setAutoSaveSettings(); readConfig(); winList.append(this); documentNameChanged(); show(); // give view focus m_view->setFocus(Qt::OtherFocusReason); }
KateMainWindow::KateMainWindow(KConfig *sconfig, const QString &sgroup) : KateMDI::MainWindow(0) , m_modignore(false) , m_wrapper(new KTextEditor::MainWindow(this)) { /** * we don't want any flicker here */ KateUpdateDisabler disableUpdates (this); /** * get and set config revision */ static const int currentConfigRevision = 10; const int readConfigRevision = KConfigGroup(KSharedConfig::openConfig(), "General").readEntry("Config Revision", 0); KConfigGroup(KSharedConfig::openConfig(), "General").writeEntry("Config Revision", currentConfigRevision); const bool firstStart = readConfigRevision < currentConfigRevision; // start session restore if needed startRestore(sconfig, sgroup); // setup most important actions first, needed by setupMainWindow setupImportantActions(); // setup the most important widgets setupMainWindow(); // setup the actions setupActions(); setStandardToolBarMenuEnabled(true); setXMLFile(QStringLiteral("kateui.rc")); createShellGUI(true); //qCDebug(LOG_KATE) << "****************************************************************************" << sconfig; // register mainwindow in app KateApp::self()->addMainWindow(this); // enable plugin guis KateApp::self()->pluginManager()->enableAllPluginsGUI(this, sconfig); // caption update Q_FOREACH (auto doc, KateApp::self()->documentManager()->documentList()) { slotDocumentCreated(doc); }
/** * Class constructor. * @param pParent The parent widget * @param szName The widget's name */ KScope::KScope(QWidget* pParent, const char* szName) : KParts::DockMainWindow(pParent, szName), m_pCscopeBuild(NULL), m_sCurFilePath(""), m_nCurLine(0), m_pProgressDlg(NULL), m_bUpdateGUI(true), m_bCscopeVerified(false), m_bRebuildDB(false), m_pMakeDlg(NULL) { QString sPath; // Load configuration Config().load(); // Create the main child widgets m_pEditTabs = new EditorTabs(this, NULL); m_pQueryWidget = new QueryWidget(this); m_pFileView = new FileView(this); m_pFileList = m_pFileView->getFileList(); m_pMsgDlg = new CscopeMsgDlg(this); m_pQueryDock = createDockWidget("Query Window", QPixmap()); m_pFileViewDock = createDockWidget("File List Window", QPixmap()); // Connect menu and toolbar items with the object's slots m_pActions = new KScopeActions(this); m_pActions->init(); m_pActions->slotEnableProjectActions(false); // Show a toolbar show/hide menu setStandardToolBarMenuEnabled(true); // Create the initial GUI (no active part) setXMLFile("kscopeui.rc"); createShellGUI(); // Create all child widgets initMainWindow(); // Create control objects m_pProjMgr = new ProjectManager(); m_pEditMgr = new EditorManager(this); m_pCallTreeMgr = new CallTreeManager(this); // Initialise the icon manager Pixmaps().init(); // Open a file for editing when selected in the project's file list or the // file tree connect(m_pFileView, SIGNAL(fileRequested(const QString&, uint)), this, SLOT(slotShowEditor(const QString&, uint))); // Delete an editor page object after it is removed connect(m_pEditTabs, SIGNAL(editorRemoved(EditorPage*)), this, SLOT(slotDeleteEditor(EditorPage*))); connect(m_pEditTabs, SIGNAL(filesDropped(QDropEvent*)), this, SLOT(slotDropEvent(QDropEvent*))); // Set an editor as the active part whenever its owner tab is selected connect(m_pEditTabs, SIGNAL(editorChanged(EditorPage*, EditorPage*)), this, SLOT(slotChangeEditor(EditorPage*, EditorPage*))); // Display a file at a specific line when selected in a query list connect(m_pQueryWidget, SIGNAL(lineRequested(const QString&, uint)), this, SLOT(slotQueryShowEditor(const QString&, uint))); // Display the symbol dialogue when the user opens a new query page connect(m_pQueryWidget, SIGNAL(newQuery()), this, SLOT(slotQueryReference())); // Rebuild the project database after a certain time period has elapsed // since the last save connect(&m_timerRebuild, SIGNAL(timeout()), this, SLOT(slotRebuildDB())); // Display a file at a specific line when selected in a call tree dialogue connect(m_pCallTreeMgr, SIGNAL(lineRequested(const QString&, uint)), this, SLOT(slotQueryShowEditor(const QString&, uint))); // Store main window settings when closed setAutoSaveSettings(); // Initialise arrow head drawing GraphWidget::setArrowInfo(20, 15); // Use a maximised window the first time if (Config().isFirstTime()) showMaximized(); // Show the Welcome message if (Config().showWelcomeDlg()) { show(); slotShowWelcome(); } // If this is the first time the user has launched KScope, prompt him/her // to configure the global parameters if (Config().isFirstTime()) slotConfigure(); }
KateMainWindow::KateMainWindow (KConfig *sconfig, const QString &sgroup) : KateMDI::MainWindow (0) { setObjectName((QString("__KateMainWindow#%1").arg(uniqueID)).toLatin1()); // first the very important id myID = uniqueID; uniqueID++; new KateMainWindowAdaptor( this ); m_dbusObjectPath = "/MainWindow/" + QString::number( myID ); QDBusConnection::sessionBus().registerObject( m_dbusObjectPath, this ); m_modignore = false; // here we go, set some usable default sizes if (!initialGeometrySet()) { int scnum = QApplication::desktop()->screenNumber(parentWidget()); QRect desk = QApplication::desktop()->screenGeometry(scnum); QSize size; // try to load size if (sconfig) { KConfigGroup cg( sconfig, sgroup ); size.setWidth (cg.readEntry( QString::fromLatin1("Width %1").arg(desk.width()), 0 )); size.setHeight (cg.readEntry( QString::fromLatin1("Height %1").arg(desk.height()), 0 )); } // if thats fails, try to reuse size if (size.isEmpty()) { // first try to reuse size known from current or last created main window ;=) if (KateApp::self()->mainWindows () > 0) { KateMainWindow *win = KateApp::self()->activeMainWindow (); if (!win) win = KateApp::self()->mainWindow (KateApp::self()->mainWindows () - 1); size = win->size(); } else // now fallback to hard defaults ;) { // first try global app config KConfigGroup cg( KGlobal::config(), "MainWindow" ); size.setWidth (cg.readEntry( QString::fromLatin1("Width %1").arg(desk.width()), 0 )); size.setHeight (cg.readEntry( QString::fromLatin1("Height %1").arg(desk.height()), 0 )); if (size.isEmpty()) size = QSize (qMin (700, desk.width()), qMin(480, desk.height())); } resize (size); } } // start session restore if needed startRestore (sconfig, sgroup); m_mainWindow = new Kate::MainWindow (this); // setup most important actions first, needed by setupMainWindow setupImportantActions (); // setup the most important widgets setupMainWindow(); // setup the actions setupActions(); setStandardToolBarMenuEnabled( true ); setXMLFile( "kateui.rc" ); createShellGUI ( true ); //kDebug() << "****************************************************************************" << sconfig; // register mainwindow in app KateApp::self()->addMainWindow (this); // enable plugin guis KatePluginManager::self()->enableAllPluginsGUI (this, sconfig); // caption update for (uint i = 0; i < KateDocManager::self()->documents(); i++) slotDocumentCreated (KateDocManager::self()->document(i)); connect(KateDocManager::self(), SIGNAL(documentCreated(KTextEditor::Document*)), this, SLOT(slotDocumentCreated(KTextEditor::Document*))); readOptions(); if (sconfig) m_viewManager->restoreViewConfiguration (KConfigGroup(sconfig, sgroup) ); finishRestore (); fileOpenRecent->loadEntries( KConfigGroup(sconfig, "Recent Files" ) ); setAcceptDrops(true); connect(KateSessionManager::self(), SIGNAL(sessionChanged()), this, SLOT(updateCaption())); connect(this,SIGNAL(sigShowPluginConfigPage(Kate::PluginConfigPageInterface *,uint)),this,SLOT(showPluginConfigPage(Kate::PluginConfigPageInterface *,uint))); }