1 | /****************************************************************************
|
---|
2 | ** $Id: tabdialog.cpp 2 2005-11-16 15:49:26Z dmik $
|
---|
3 | **
|
---|
4 | ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
|
---|
5 | **
|
---|
6 | ** This file is part of an example program for Qt. This example
|
---|
7 | ** program may be used, distributed and modified without limitation.
|
---|
8 | **
|
---|
9 | *****************************************************************************/
|
---|
10 |
|
---|
11 | #include "tabdialog.h"
|
---|
12 |
|
---|
13 | #include <qvbox.h>
|
---|
14 | #include <qlabel.h>
|
---|
15 | #include <qlineedit.h>
|
---|
16 | #include <qdatetime.h>
|
---|
17 | #include <qbuttongroup.h>
|
---|
18 | #include <qcheckbox.h>
|
---|
19 | #include <qlistbox.h>
|
---|
20 | #include <qapplication.h>
|
---|
21 |
|
---|
22 | TabDialog::TabDialog( QWidget *parent, const char *name, const QString &_filename )
|
---|
23 | : QTabDialog( parent, name ), filename( _filename ), fileinfo( filename )
|
---|
24 | {
|
---|
25 | setupTab1();
|
---|
26 | setupTab2();
|
---|
27 | setupTab3();
|
---|
28 |
|
---|
29 | connect( this, SIGNAL( applyButtonPressed() ), qApp, SLOT( quit() ) );
|
---|
30 | }
|
---|
31 |
|
---|
32 | void TabDialog::setupTab1()
|
---|
33 | {
|
---|
34 | QVBox *tab1 = new QVBox( this );
|
---|
35 | tab1->setMargin( 5 );
|
---|
36 |
|
---|
37 | (void)new QLabel( "Filename:", tab1 );
|
---|
38 | QLineEdit *fname = new QLineEdit( filename, tab1 );
|
---|
39 | fname->setFocus();
|
---|
40 |
|
---|
41 | (void)new QLabel( "Path:", tab1 );
|
---|
42 | QLabel *path = new QLabel( fileinfo.dirPath( TRUE ), tab1 );
|
---|
43 | path->setFrameStyle( QFrame::Panel | QFrame::Sunken );
|
---|
44 |
|
---|
45 | (void)new QLabel( "Size:", tab1 );
|
---|
46 | ulong kb = (ulong)(fileinfo.size()/1024);
|
---|
47 | QLabel *size = new QLabel( QString( "%1 KB" ).arg( kb ), tab1 );
|
---|
48 | size->setFrameStyle( QFrame::Panel | QFrame::Sunken );
|
---|
49 |
|
---|
50 | (void)new QLabel( "Last Read:", tab1 );
|
---|
51 | QLabel *lread = new QLabel( fileinfo.lastRead().toString(), tab1 );
|
---|
52 | lread->setFrameStyle( QFrame::Panel | QFrame::Sunken );
|
---|
53 |
|
---|
54 | (void)new QLabel( "Last Modified:", tab1 );
|
---|
55 | QLabel *lmodif = new QLabel( fileinfo.lastModified().toString(), tab1 );
|
---|
56 | lmodif->setFrameStyle( QFrame::Panel | QFrame::Sunken );
|
---|
57 |
|
---|
58 | addTab( tab1, "General" );
|
---|
59 | }
|
---|
60 |
|
---|
61 | void TabDialog::setupTab2()
|
---|
62 | {
|
---|
63 | QVBox *tab2 = new QVBox( this );
|
---|
64 | tab2->setMargin( 5 );
|
---|
65 |
|
---|
66 | QButtonGroup *bg = new QButtonGroup( 1, QGroupBox::Horizontal, "Permissions", tab2 );
|
---|
67 |
|
---|
68 | QCheckBox *readable = new QCheckBox( "Readable", bg );
|
---|
69 | if ( fileinfo.isReadable() )
|
---|
70 | readable->setChecked( TRUE );
|
---|
71 |
|
---|
72 | QCheckBox *writable = new QCheckBox( "Writeable", bg );
|
---|
73 | if ( fileinfo.isWritable() )
|
---|
74 | writable->setChecked( TRUE );
|
---|
75 |
|
---|
76 | QCheckBox *executable = new QCheckBox( "Executable", bg );
|
---|
77 | if ( fileinfo.isExecutable() )
|
---|
78 | executable->setChecked( TRUE );
|
---|
79 |
|
---|
80 | QButtonGroup *bg2 = new QButtonGroup( 2, QGroupBox::Horizontal, "Owner", tab2 );
|
---|
81 |
|
---|
82 | (void)new QLabel( "Owner", bg2 );
|
---|
83 | QLabel *owner = new QLabel( fileinfo.owner(), bg2 );
|
---|
84 | owner->setFrameStyle( QFrame::Panel | QFrame::Sunken );
|
---|
85 |
|
---|
86 | (void)new QLabel( "Group", bg2 );
|
---|
87 | QLabel *group = new QLabel( fileinfo.group(), bg2 );
|
---|
88 | group->setFrameStyle( QFrame::Panel | QFrame::Sunken );
|
---|
89 |
|
---|
90 | addTab( tab2, "Permissions" );
|
---|
91 | }
|
---|
92 |
|
---|
93 | void TabDialog::setupTab3()
|
---|
94 | {
|
---|
95 | QVBox *tab3 = new QVBox( this );
|
---|
96 | tab3->setMargin( 5 );
|
---|
97 | tab3->setSpacing( 5 );
|
---|
98 |
|
---|
99 | (void)new QLabel( QString( "Open %1 with:" ).arg( filename ), tab3 );
|
---|
100 |
|
---|
101 | QListBox *prgs = new QListBox( tab3 );
|
---|
102 | for ( unsigned int i = 0; i < 30; i++ ) {
|
---|
103 | QString prg = QString( "Application %1" ).arg( i );
|
---|
104 | prgs->insertItem( prg );
|
---|
105 | }
|
---|
106 | prgs->setCurrentItem( 3 );
|
---|
107 |
|
---|
108 | (void)new QCheckBox( QString( "Open files with the extension '%1' always with this application" ).arg( fileinfo.extension() ), tab3 );
|
---|
109 |
|
---|
110 | addTab( tab3, "Applications" );
|
---|
111 | }
|
---|