summaryrefslogtreecommitdiffstats
path: root/kpdf/shell/shell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kpdf/shell/shell.cpp')
-rw-r--r--kpdf/shell/shell.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/kpdf/shell/shell.cpp b/kpdf/shell/shell.cpp
index e18d4bba..f2962be0 100644
--- a/kpdf/shell/shell.cpp
+++ b/kpdf/shell/shell.cpp
@@ -24,6 +24,7 @@
#include <ktabwidget.h>
#include <tqptrlist.h>
#include <tdeaction.h>
+#include <tdeconfig.h>
#include <tdeapplication.h>
#include <kedittoolbar.h>
#include <tdefiledialog.h>
@@ -87,9 +88,11 @@ void Shell::init()
m_tabs = new KTabWidget(this);
connect(m_tabs, TQ_SIGNAL(contextMenu(const TQPoint &)),
- this, TQ_SLOT(slotTabContextMenu(const TQPoint &)));
+ TQ_SLOT(slotTabContextMenu(const TQPoint &)));
connect(m_tabs, TQ_SIGNAL(contextMenu(TQWidget*, const TQPoint &)),
TQ_SLOT(slotTabContextMenu(TQWidget*, const TQPoint &)));
+ connect(m_tabs, TQ_SIGNAL(closeRequest(TQWidget*)),
+ TQ_SLOT(slotCloseTabRequest(TQWidget*)));
m_manager = new KParts::PartManager(this, "kpdf part manager");
connect(m_manager, TQ_SIGNAL(activePartChanged(KParts::Part*)),
@@ -117,6 +120,8 @@ void Shell::init()
{
TQTimer::singleShot(0, this, TQ_SLOT(delayedOpen()));
}
+
+ reconfigure();
}
void Shell::delayedOpen()
@@ -132,6 +137,13 @@ Shell::~Shell()
}
}
+void Shell::reconfigure()
+{
+ TDEConfig cfg("kpdfpartrc");
+ cfg.setGroup("General");
+ m_tabs->setHoverCloseButton(cfg.readBoolEntry("TabsHoverCloseButton", false));
+}
+
void Shell::openURL( const KURL & url )
{
// if the current part has no url, reuse part
@@ -339,7 +351,7 @@ KParts::ReadOnlyPart* Shell::createTab()
(KParts::ReadOnlyPart*)m_factory->createPart(m_tabs, "kpdf_part",
m_tabs, nullptr,
"KParts::ReadOnlyPart");
- m_tabs->addTab(part->widget(), i18n("No file"));
+ m_tabs->addTab(part->widget(), SmallIcon("application-pdf"), i18n("No file"));
connect(this, TQ_SIGNAL(restoreDocument(TDEConfig*)),
part, TQ_SLOT(restoreDocument(TDEConfig*)));
@@ -628,4 +640,11 @@ void Shell::slotSetTabCaption(const TQString &caption)
}
}
+void Shell::slotCloseTabRequest(TQWidget *w)
+{
+ m_workingTab = m_tabs->indexOf(w);
+ if (m_workingTab == -1) return;
+ removeTab();
+}
+
#include "shell.moc"