summaryrefslogtreecommitdiffstats
path: root/kpdf
diff options
context:
space:
mode:
Diffstat (limited to 'kpdf')
-rw-r--r--kpdf/part.cpp2
-rw-r--r--kpdf/shell/shell.cpp47
-rw-r--r--kpdf/shell/shell.h2
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;
};