[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [ark] part: Save and restore the size of the internal viewer window.
From: Jonathan Marten <jjm () keelhaul ! me ! uk>
Date: 2011-12-31 16:16:04
Message-ID: 20111231161604.BE4CFA60A6 () git ! kde ! org
[Download RAW message or body]
Git commit da9591757f6575f79f9a7d456105a0cc89e6f0e1 by Jonathan Marten.
Committed on 31/12/2011 at 16:59.
Pushed by marten into branch 'master'.
Save and restore the size of the internal viewer window.
REVIEW:103581
M +12 -8 part/arkviewer.cpp
M +1 -0 part/arkviewer.h
http://commits.kde.org/ark/da9591757f6575f79f9a7d456105a0cc89e6f0e1
diff --git a/part/arkviewer.cpp b/part/arkviewer.cpp
index 9bfd651..e68314e 100644
--- a/part/arkviewer.cpp
+++ b/part/arkviewer.cpp
@@ -59,6 +59,9 @@ ArkViewer::~ArkViewer()
void ArkViewer::dialogClosed()
{
+ KConfigGroup conf = KGlobal::config()->group("Viewer");
+ saveDialogSize(conf);
+
if (m_part) {
KProgressDialog progressDialog
(this, i18n("Closing preview"),
@@ -98,8 +101,6 @@ void ArkViewer::view(const QString& filename, QWidget *parent)
} else if (viewer->hasServiceType(QLatin1String( "KParts/ReadOnlyPart" ))) {
ArkViewer *internalViewer = new ArkViewer(parent, Qt::Window);
- internalViewer->hide();
-
if (!internalViewer->viewInInternalViewer(filename)) {
KMessageBox::sorry(parent, i18n("The internal viewer cannot preview this file."));
delete internalViewer;
@@ -129,6 +130,14 @@ void ArkViewer::keyPressEvent(QKeyEvent *event)
event->accept();
}
+// This sets the default size of the dialog. It will only take effect in the case
+// where there is no saved size in the config file - it sets the default values
+// for KDialog::restoreDialogSize().
+QSize ArkViewer::sizeHint() const
+{
+ return QSize(560, 400);
+}
+
bool ArkViewer::viewInInternalViewer(const QString& filename)
{
const KUrl fileUrl(filename);
@@ -136,12 +145,7 @@ bool ArkViewer::viewInInternalViewer(const QString& filename)
KMimeType::Ptr mimetype = KMimeType::findByUrl(fileUrl, 0, true);
setCaption(fileUrl.fileName());
- // TODO: Load the size from the config file
- QSize size = QSize();
- if (size.width() < 200) {
- size = QSize(560, 400);
- }
- setInitialSize(size);
+ restoreDialogSize(KGlobal::config()->group("Viewer"));
QFrame *header = new QFrame(m_widget);
QHBoxLayout *headerLayout = new QHBoxLayout(header);
diff --git a/part/arkviewer.h b/part/arkviewer.h
index b810e17..a677e39 100644
--- a/part/arkviewer.h
+++ b/part/arkviewer.h
@@ -35,6 +35,7 @@ class ArkViewer : public KDialog
public:
virtual ~ArkViewer();
+ virtual QSize sizeHint() const;
static void view(const QString& filename, QWidget* parent = 0);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic