You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebindings/qtjava/javalib/examples/tabdialog/TabDialog.java

115 lines
3.2 KiB

/***************************************************************************
* $Id$
**
* Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
* This file is part of an example program for Qt. This example
* program may be used, distributed and modified without limitation.
**
****************************************************************************/
import org.kde.qt.*;
import java.text.*;
class TabDialog extends QTabDialog
{
protected String filename;
protected QFileInfo fileinfo;
TabDialog( QWidget parent, String name, String _filename )
{
super( parent, name );
filename = _filename;
fileinfo = new QFileInfo(filename);
setupTab1();
setupTab2();
setupTab3();
connect( this, SIGNAL(" applyButtonPressed()"), qApp(), SLOT(" quit()") );
}
void setupTab1()
{
QVBox tab1 = new QVBox( this );
tab1.setMargin( 5 );
new QLabel( "Filename:", tab1 );
QLineEdit fname = new QLineEdit( filename, tab1 );
fname.setFocus();
new QLabel( "Path:", tab1 );
QLabel path = new QLabel( fileinfo.dirPath( true ), tab1 );
path.setFrameStyle( QFrame.Panel | QFrame.Sunken );
new QLabel( "Size:", tab1 );
QLabel size = new QLabel( fileinfo.size() + " KB", tab1 );
size.setFrameStyle( QFrame.Panel | QFrame.Sunken );
SimpleDateFormat dateFormat = new SimpleDateFormat("EE MMM d hh:mm:ss yyyy");
new QLabel( "Last Read:", tab1 );
QLabel lread = new QLabel( dateFormat.format(fileinfo.lastRead().getTime()), tab1 );
lread.setFrameStyle( QFrame.Panel | QFrame.Sunken );
new QLabel( "Last Modified:", tab1 );
QLabel lmodif = new QLabel( dateFormat.format(fileinfo.lastModified().getTime()), tab1 );
lmodif.setFrameStyle( QFrame.Panel | QFrame.Sunken );
addTab( tab1, "General" );
}
void 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 );
new QLabel( "Owner", bg2 );
QLabel owner = new QLabel( fileinfo.owner(), bg2 );
owner.setFrameStyle( QFrame.Panel | QFrame.Sunken );
new QLabel( "Group", bg2 );
QLabel group = new QLabel( fileinfo.group(), bg2 );
group.setFrameStyle( QFrame.Panel | QFrame.Sunken );
addTab( tab2, "Permissions" );
}
void setupTab3()
{
QVBox tab3 = new QVBox( this );
tab3.setMargin( 5 );
tab3.setSpacing( 5 );
new QLabel( "Open " + filename + " with:", tab3 );
QListBox prgs = new QListBox( tab3 );
for ( int i = 0; i < 30; i++ ) {
String prg = "Application " + i;
prgs.insertItem( prg );
}
prgs.setCurrentItem( 3 );
new QCheckBox( "Open files with the extension '" + fileinfo.extension() + "' always with this application", tab3 );
addTab( tab3, "Applications" );
}
}