diff options
Diffstat (limited to 'kpdf')
| -rw-r--r-- | kpdf/part.cpp | 2 | ||||
| -rw-r--r-- | kpdf/shell/shell.cpp | 47 | ||||
| -rw-r--r-- | kpdf/shell/shell.h | 2 |
3 files changed, 43 insertions, 8 deletions
diff --git a/kpdf/part.cpp b/kpdf/part.cpp index a82707f7..7370a062 100644 --- a/kpdf/part.cpp +++ b/kpdf/part.cpp @@ -37,7 +37,7 @@ #include <tdeapplication.h> #include <tdeaction.h> #include <kdirwatch.h> -#include <kinstance.h> +#include <tdeinstance.h> #include <kprinter.h> #include <tdeprint/kprintdialogpage.h> #include <kstdaction.h> diff --git a/kpdf/shell/shell.cpp b/kpdf/shell/shell.cpp index 79d1d83d..ed9403df 100644 --- a/kpdf/shell/shell.cpp +++ b/kpdf/shell/shell.cpp @@ -50,6 +50,7 @@ Shell::Shell() : DCOPObject("KPDFShellDCOPIface"), KParts::MainWindow(0, "KPDF::Shell"), m_menuBarWasShown(true), m_toolBarWasShown(true), + m_shuttingDown(false), m_showToolBarAction(nullptr), m_tabs(nullptr), m_tabsContextMenu(nullptr), @@ -63,6 +64,7 @@ Shell::Shell(const KURL &url) : DCOPObject("KPDFShellDCOPIface"), KParts::MainWindow(0, "KPDF::Shell"), m_menuBarWasShown(true), m_toolBarWasShown(true), + m_shuttingDown(false), m_showToolBarAction(nullptr), m_tabs(nullptr), m_tabsContextMenu(nullptr), @@ -101,6 +103,8 @@ void Shell::init() this, TQ_SLOT(createGUI(KParts::Part*))); connect(m_manager, TQ_SIGNAL(activePartChanged(KParts::Part*)), this, TQ_SLOT(slotChangeTab(KParts::Part*))); + connect(tdeApp, TQ_SIGNAL(shutDown()), + this, TQ_SLOT(slotShutDown())); setCentralWidget(m_tabs); setXMLFile("shell.rc"); @@ -108,7 +112,6 @@ void Shell::init() setupActions(); setupGUI(Keys | Save); - readSettings(); if (!TDEGlobal::config()->hasGroup("MainWindow")) { TDEMainWindowInterface kmwi(this); @@ -122,6 +125,7 @@ void Shell::init() TQTimer::singleShot(0, this, TQ_SLOT(delayedOpen())); } + readSettings(); reconfigure(); } @@ -186,15 +190,38 @@ void Shell::readSettings() m_recent->setToolTip( i18n("Click to open a file\nClick and hold to open a recent file") ); TDEGlobal::config()->setDesktopGroup(); + m_menuBarWasShown = TDEGlobal::config()->readBoolEntry( "ShowMenuBar", true ); + m_showMenuBarAction->setChecked(m_menuBarWasShown); + slotShowMenubar(); + + m_toolBarWasShown = TDEGlobal::config()->readBoolEntry( "ShowToolBar", true ); + m_showToolBarAction = static_cast<TDEToggleAction*>(toolBarMenuAction()); + if (m_toolBarWasShown) + { + toolBar()->show(); + } + else + { + toolBar()->hide(); + } + bool fullScreen = TDEGlobal::config()->readBoolEntry( "FullScreen", false ); - setFullScreen( fullScreen ); + setFullScreen(fullScreen); } void Shell::writeSettings() { m_recent->saveEntries( TDEGlobal::config() ); TDEGlobal::config()->setDesktopGroup(); - TDEGlobal::config()->writeEntry( "FullScreen", m_fullScreenAction->isChecked()); + bool fullScreen = m_fullScreenAction->isChecked(); + if (!fullScreen) + { + m_menuBarWasShown = m_showMenuBarAction->isChecked(); + m_toolBarWasShown = m_showToolBarAction->isChecked(); + } + TDEGlobal::config()->writeEntry( "ShowMenuBar", m_menuBarWasShown); + TDEGlobal::config()->writeEntry( "ShowToolBar", m_toolBarWasShown); + TDEGlobal::config()->writeEntry( "FullScreen", fullScreen); TDEGlobal::config()->sync(); } @@ -385,10 +412,6 @@ KParts::ReadOnlyPart* Shell::createTab() part->widget()->show(); m_manager->addPart(part, true); - if (!m_showToolBarAction) - { - m_showToolBarAction = static_cast<TDEToggleAction*>(toolBarMenuAction()); - } return part; } @@ -414,8 +437,18 @@ void Shell::removeTab() m_workingTab = -1; } +void Shell::slotShutDown() +{ + m_shuttingDown = true; +} + void Shell::slotChangeTab(KParts::Part *part) { + if (m_shuttingDown) + { + return; + } + if (!part) { part = createTab(); diff --git a/kpdf/shell/shell.h b/kpdf/shell/shell.h index d1ace108..87d9c93a 100644 --- a/kpdf/shell/shell.h +++ b/kpdf/shell/shell.h @@ -111,6 +111,7 @@ namespace KPDF void slotUpdateFullScreen(); void slotShowMenubar(); void delayedOpen(); + void slotShutDown(); void slotCloseTabRequest(TQWidget *w); void slotChangeTab(KParts::Part *part); @@ -150,6 +151,7 @@ namespace KPDF TQToolButton *m_addTabButton, *m_removeTabButton; TQPopupMenu *m_tabsContextMenu; bool m_menuBarWasShown, m_toolBarWasShown; + bool m_shuttingDown; KURL m_openUrl; // delayed open int m_workingTab; }; |
