summaryrefslogtreecommitdiffstats
path: root/tools/designer/examples/sizeaware
diff options
context:
space:
mode:
Diffstat (limited to 'tools/designer/examples/sizeaware')
-rw-r--r--tools/designer/examples/sizeaware/main.cpp11
-rw-r--r--tools/designer/examples/sizeaware/sizeaware.cpp38
-rw-r--r--tools/designer/examples/sizeaware/sizeaware.h23
-rw-r--r--tools/designer/examples/sizeaware/sizeaware.pro6
4 files changed, 78 insertions, 0 deletions
diff --git a/tools/designer/examples/sizeaware/main.cpp b/tools/designer/examples/sizeaware/main.cpp
new file mode 100644
index 0000000..f8cd6ac
--- /dev/null
+++ b/tools/designer/examples/sizeaware/main.cpp
@@ -0,0 +1,11 @@
+#include <qapplication.h>
+#include "sizeaware.h"
+
+int main( int argc, char ** argv )
+{
+ QApplication app( argc, argv );
+ SizeAware *sizeaware = new SizeAware( 0, 0, TRUE );
+ sizeaware->exec();
+ sizeaware->destroy();
+ return 0;
+}
diff --git a/tools/designer/examples/sizeaware/sizeaware.cpp b/tools/designer/examples/sizeaware/sizeaware.cpp
new file mode 100644
index 0000000..1510a15
--- /dev/null
+++ b/tools/designer/examples/sizeaware/sizeaware.cpp
@@ -0,0 +1,38 @@
+#include "sizeaware.h"
+#include <qsettings.h>
+
+
+SizeAware::SizeAware( QDialog *parent, const char *name, bool modal )
+ : QDialog( parent, name, modal )
+{
+ if ( company().isEmpty() )
+ setCompany( "UnknownCompany" );
+ if ( settingsFile().isEmpty() )
+ setSettingsFile( "UnknownFile" );
+
+ QSettings settings;
+ settings.insertSearchPath( QSettings::Windows, "/" + company() );
+ settings.insertSearchPath( QSettings::Unix, "/Opt/" + company() + "/share" );
+ int width = settings.readNumEntry( "/" + settingsFile() + "/width", 640 );
+ int height = settings.readNumEntry( "/" + settingsFile() + "/height", 480 );
+ resize( width, height );
+}
+
+
+SizeAware::~SizeAware()
+{
+ // NOOP
+}
+
+void SizeAware::destroy()
+{
+ QSettings settings;
+ settings.insertSearchPath( QSettings::Windows, "/" + company() );
+ settings.insertSearchPath( QSettings::Unix, "/Opt/" + company() + "/share" );
+ settings.writeEntry( "/" + settingsFile() + "/width", width() );
+ settings.writeEntry( "/" + settingsFile() + "/height", height() );
+ close( TRUE );
+}
+
+
+
diff --git a/tools/designer/examples/sizeaware/sizeaware.h b/tools/designer/examples/sizeaware/sizeaware.h
new file mode 100644
index 0000000..efa9357
--- /dev/null
+++ b/tools/designer/examples/sizeaware/sizeaware.h
@@ -0,0 +1,23 @@
+#ifndef SIZEAWARE_H
+#define SIZEAWARE_H
+#include <qdialog.h>
+
+class SizeAware : public QDialog
+{
+ Q_OBJECT
+ Q_PROPERTY( QString company READ company WRITE setCompany )
+ Q_PROPERTY( QString settingsFile READ settingsFile WRITE setSettingsFile )
+public:
+ SizeAware( QDialog *parent = 0, const char *name = 0, bool modal = FALSE );
+ ~SizeAware();
+ void setCompany( QString company ) { m_company = company; }
+ QString company() const { return m_company; }
+ void setSettingsFile( QString settingsFile ) { m_settingsFile = settingsFile; }
+ QString settingsFile() const { return m_settingsFile; }
+public slots:
+ void destroy();
+private:
+ QString m_company;
+ QString m_settingsFile;
+};
+#endif
diff --git a/tools/designer/examples/sizeaware/sizeaware.pro b/tools/designer/examples/sizeaware/sizeaware.pro
new file mode 100644
index 0000000..c223ed7
--- /dev/null
+++ b/tools/designer/examples/sizeaware/sizeaware.pro
@@ -0,0 +1,6 @@
+TEMPLATE = app
+TARGET = sizeaware
+
+CONFIG += qt warn_on release
+SOURCES += sizeaware.cpp main.cpp
+HEADERS += sizeaware.h