diff options
Diffstat (limited to 'tools/designer/examples/sizeaware')
-rw-r--r-- | tools/designer/examples/sizeaware/main.cpp | 11 | ||||
-rw-r--r-- | tools/designer/examples/sizeaware/sizeaware.cpp | 38 | ||||
-rw-r--r-- | tools/designer/examples/sizeaware/sizeaware.h | 23 | ||||
-rw-r--r-- | tools/designer/examples/sizeaware/sizeaware.pro | 6 |
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 |