summaryrefslogtreecommitdiffstats
path: root/examples/tabdialog/tabdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tabdialog/tabdialog.cpp')
-rw-r--r--examples/tabdialog/tabdialog.cpp110
1 files changed, 110 insertions, 0 deletions
diff --git a/examples/tabdialog/tabdialog.cpp b/examples/tabdialog/tabdialog.cpp
new file mode 100644
index 0000000..2f2b60f
--- /dev/null
+++ b/examples/tabdialog/tabdialog.cpp
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "tabdialog.h"
+
+#include <qvbox.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qdatetime.h>
+#include <qbuttongroup.h>
+#include <qcheckbox.h>
+#include <qlistbox.h>
+#include <qapplication.h>
+
+TabDialog::TabDialog( QWidget *parent, const char *name, const QString &_filename )
+ : QTabDialog( parent, name ), filename( _filename ), fileinfo( filename )
+{
+ setupTab1();
+ setupTab2();
+ setupTab3();
+
+ connect( this, SIGNAL( applyButtonPressed() ), qApp, SLOT( quit() ) );
+}
+
+void TabDialog::setupTab1()
+{
+ QVBox *tab1 = new QVBox( this );
+ tab1->setMargin( 5 );
+
+ (void)new QLabel( "Filename:", tab1 );
+ QLineEdit *fname = new QLineEdit( filename, tab1 );
+ fname->setFocus();
+
+ (void)new QLabel( "Path:", tab1 );
+ QLabel *path = new QLabel( fileinfo.dirPath( TRUE ), tab1 );
+ path->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+
+ (void)new QLabel( "Size:", tab1 );
+ ulong kb = (ulong)(fileinfo.size()/1024);
+ QLabel *size = new QLabel( QString( "%1 KB" ).arg( kb ), tab1 );
+ size->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+
+ (void)new QLabel( "Last Read:", tab1 );
+ QLabel *lread = new QLabel( fileinfo.lastRead().toString(), tab1 );
+ lread->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+
+ (void)new QLabel( "Last Modified:", tab1 );
+ QLabel *lmodif = new QLabel( fileinfo.lastModified().toString(), tab1 );
+ lmodif->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+
+ addTab( tab1, "General" );
+}
+
+void TabDialog::setupTab2()
+{
+ QVBox *tab2 = new QVBox( this );
+ tab2->setMargin( 5 );
+
+ QButtonGroup *bg = new QButtonGroup( 1, QGroupBox::Horizontal, "Permissions", tab2 );
+
+ QCheckBox *readable = new QCheckBox( "Readable", bg );
+ if ( fileinfo.isReadable() )
+ readable->setChecked( TRUE );
+
+ QCheckBox *writable = new QCheckBox( "Writeable", bg );
+ if ( fileinfo.isWritable() )
+ writable->setChecked( TRUE );
+
+ QCheckBox *executable = new QCheckBox( "Executable", bg );
+ if ( fileinfo.isExecutable() )
+ executable->setChecked( TRUE );
+
+ QButtonGroup *bg2 = new QButtonGroup( 2, QGroupBox::Horizontal, "Owner", tab2 );
+
+ (void)new QLabel( "Owner", bg2 );
+ QLabel *owner = new QLabel( fileinfo.owner(), bg2 );
+ owner->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+
+ (void)new QLabel( "Group", bg2 );
+ QLabel *group = new QLabel( fileinfo.group(), bg2 );
+ group->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+
+ addTab( tab2, "Permissions" );
+}
+
+void TabDialog::setupTab3()
+{
+ QVBox *tab3 = new QVBox( this );
+ tab3->setMargin( 5 );
+ tab3->setSpacing( 5 );
+
+ (void)new QLabel( QString( "Open %1 with:" ).arg( filename ), tab3 );
+
+ QListBox *prgs = new QListBox( tab3 );
+ for ( unsigned int i = 0; i < 30; i++ ) {
+ QString prg = QString( "Application %1" ).arg( i );
+ prgs->insertItem( prg );
+ }
+ prgs->setCurrentItem( 3 );
+
+ (void)new QCheckBox( QString( "Open files with the extension '%1' always with this application" ).arg( fileinfo.extension() ), tab3 );
+
+ addTab( tab3, "Applications" );
+}