korganizer
importdialog.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "importdialog.h"
00027
00028 #include "koprefs.h"
00029 #include "stdcalendar.h"
00030
00031 #include <KLocale>
00032 #include <KSqueezedTextLabel>
00033
00034 #include <QLabel>
00035 #include <QLayout>
00036 #include <QRadioButton>
00037 #include <QGroupBox>
00038
00039
00040 #include <QVBoxLayout>
00041 #include <QFrame>
00042
00043 using namespace KCal;
00044
00045 ImportDialog::ImportDialog( const KUrl &url, QWidget *parent )
00046 : KDialog( parent),
00047 mUrl( url )
00048 {
00049 setCaption( i18n("Import Calendar") );
00050 setButtons( Ok | Cancel );
00051 setDefaultButton( Ok );
00052 setModal( true );
00053 showButtonSeparator( true );
00054 QFrame *topFrame = new QFrame(this );
00055 setMainWidget( topFrame );
00056 QVBoxLayout *topLayout = new QVBoxLayout( topFrame );
00057 topLayout->setSpacing( spacingHint() );
00058 topLayout->setMargin( 0 );
00059
00060 QString txt = i18n( "Please select import method for calendar at\n\n%1.",
00061 mUrl.prettyUrl() );
00062 KSqueezedTextLabel *lbl = new KSqueezedTextLabel( txt, topFrame );
00063 lbl->setTextElideMode( Qt::ElideMiddle );
00064 topLayout->addWidget( lbl );
00065
00066 QGroupBox *radioBox = new QGroupBox( topFrame );
00067 QBoxLayout *boxLayout = new QVBoxLayout( radioBox );
00068 radioBox->setFlat( true );
00069 topLayout->addWidget( radioBox );
00070
00071 mAddButton = new QRadioButton( i18n("Add as new calendar"), radioBox );
00072 boxLayout->addWidget( mAddButton );
00073
00074 mMergeButton = new QRadioButton( i18n("Merge into existing calendar"),
00075 radioBox );
00076 boxLayout->addWidget( mMergeButton );
00077
00078 mOpenButton = new QRadioButton( i18n("Open in separate window"), radioBox );
00079 boxLayout->addWidget( mOpenButton );
00080
00081 mAddButton->setChecked( true );
00082 connect(this,SIGNAL(okClicked()),SLOT(slotOk()));
00083 }
00084
00085 ImportDialog::~ImportDialog()
00086 {
00087 }
00088
00089 void ImportDialog::slotOk()
00090 {
00091 kDebug() << "Adding resource for url '" << mUrl <<"'";
00092
00093 if ( mAddButton->isChecked() ) {
00094 emit addResource( mUrl );
00095 } else if ( mMergeButton->isChecked() ) {
00096
00097 emit openURL( mUrl, true );
00098 } else if ( mOpenButton->isChecked() ) {
00099
00100 emit newWindow( mUrl );
00101 } else {
00102 kError() <<"ImportDialog: internal error.";
00103 }
00104
00105 emit dialogFinished( this );
00106 accept();
00107 }
00108
00109
00110 #include "importdialog.moc"