From: Shie E. <er...@us...> - 2004-07-31 21:58:47
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30520/krusader/Panel Modified Files: panelpopup.cpp Log Message: 3rd hand: look n feel changed to fit krusader Index: panelpopup.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/panelpopup.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** panelpopup.cpp 27 Jul 2004 22:34:43 -0000 1.3 --- panelpopup.cpp 31 Jul 2004 21:58:38 -0000 1.4 *************** *** 4,7 **** --- 4,9 ---- #include <kdebug.h> + + #include <qbuttongroup.h> #include <kfiletreeview.h> #include <klocale.h> *************** *** 14,29 **** #include <kmultitabbar.h> #include "../kicons.h" ! PanelPopup::PanelPopup( QWidget *parent ) : QWidget( parent ), stack( 0 ), viewer( 0 ), pjob( 0 ) { ! QVBoxLayout * layout = new QVBoxLayout( this ); ! ! // create the button bar ! tabbar = new KMultiTabBar( KMultiTabBar::Horizontal, this ); ! tabbar->appendTab( krLoader->loadIcon( "view_tree", KIcon::Panel ), Tree, "Tree" ); ! connect( tabbar->tab( Tree ), SIGNAL( clicked( int ) ), this, SLOT( tabSelected( int ) ) ); ! tabbar->appendTab( krLoader->loadIcon( "folder_image", KIcon::Panel ), Preview, "Preview" ); ! connect( tabbar->tab( Preview ), SIGNAL( clicked( int ) ), this, SLOT( tabSelected( int ) ) ); ! // create a widget stack on which to put the parts stack = new QWidgetStack( this ); --- 16,63 ---- #include <kmultitabbar.h> #include "../kicons.h" ! #include "../Dialogs/krsqueezedtextlabel.h" ! #include "../defaults.h" PanelPopup::PanelPopup( QWidget *parent ) : QWidget( parent ), stack( 0 ), viewer( 0 ), pjob( 0 ) { ! QGridLayout * layout = new QGridLayout(this, 1, 1); ! ! // create the label+buttons setup ! dataLine = new KrSqueezedTextLabel(this); ! dataLine->setText("blah blah"); ! krConfig->setGroup( "Look&Feel" ); ! dataLine->setFont( krConfig->readFontEntry( "Filelist Font", _FilelistFont ) ); ! // --- hack: setup colors to be the same as an inactive panel ! dataLine->setBackgroundMode( PaletteBackground ); ! QPalette q( dataLine->palette() ); ! q.setColor( QColorGroup::Foreground, KGlobalSettings::textColor() ); ! q.setColor( QColorGroup::Background, KGlobalSettings::baseColor() ); ! dataLine->setPalette( q ); ! dataLine->setFrameStyle( QFrame::Box | QFrame::Raised ); ! dataLine->setLineWidth( 1 ); // a nice 3D touch :-) ! int sheight = QFontMetrics( dataLine->font() ).height() + 4; ! dataLine->setMaximumHeight( sheight ); ! ! btns = new QButtonGroup(this); ! btns->setExclusive(true); ! btns->hide(); // it should be invisible ! connect(btns, SIGNAL(clicked(int)), this, SLOT(tabSelected(int))); ! ! treeBtn = new QToolButton(this); ! treeBtn->setPixmap(krLoader->loadIcon( "view_tree", KIcon::Toolbar, 16 )); ! treeBtn->setFixedSize(20, 20); ! treeBtn->setToggleButton(true); ! btns->insert(treeBtn, Tree); ! ! ! previewBtn = new QToolButton(this); ! previewBtn->setPixmap(krLoader->loadIcon( "folder_image", KIcon::Toolbar, 16 )); ! previewBtn->setFixedSize(20, 20); ! previewBtn->setToggleButton(true); ! btns->insert(previewBtn, Preview); ! ! layout->addWidget(dataLine,0,0); ! layout->addWidget(treeBtn,0,1); ! layout->addWidget(previewBtn,0,2); ! // create a widget stack on which to put the parts stack = new QWidgetStack( this ); *************** *** 47,56 **** stack->addWidget( viewer, Preview ); ! layout->addWidget( tabbar ); ! layout->addWidget( stack ); ! // raise the tree part ! tabbar->setTab( Tree, true ); ! stack->raiseWidget( Tree ); } --- 81,89 ---- stack->addWidget( viewer, Preview ); ! layout->addMultiCellWidget(stack,1,1,0,2); ! // raise the tree part ! treeBtn->setOn(true); ! tabSelected(Tree); } *************** *** 58,65 **** void PanelPopup::tabSelected( int id ) { - // unraise all tabs except selected one and raise the widget - for ( int i = Tree; i < Last; ++i ) - tabbar->setTab( i, ( i == id ) ); stack->raiseWidget( id ); } --- 91,101 ---- void PanelPopup::tabSelected( int id ) { stack->raiseWidget( id ); + // if tab is tree, set something logical in the data line + switch (id) { + case Tree: + dataLine->setText("Tree:"); + break; + } } *************** *** 82,85 **** --- 118,122 ---- if ( pjob ) // stop running jobs delete pjob; + dynamic_cast<QLabel*>( stack->widget( Preview ) ) ->setText( i18n( "Please wait..." ) ); pjob = new KIO::PreviewJob( lst, stack->width(), stack->height(), stack->width(), 1, true, true, 0 ); connect( pjob, SIGNAL( gotPreview( const KFileItem*, const QPixmap& ) ), *************** *** 95,104 **** // called when the preview job got something for us ! void PanelPopup::view( const KFileItem*, const QPixmap& pix ) { ! dynamic_cast<QLabel*>( stack->widget( Preview ) ) ->setPixmap( pix ); } // preview job failed here... void PanelPopup::failedToView( const KFileItem* ) { dynamic_cast<QLabel*>( stack->widget( Preview ) ) ->setText( i18n( "No preview available" ) ); } --- 132,143 ---- // called when the preview job got something for us ! void PanelPopup::view( const KFileItem *kfi, const QPixmap& pix ) { ! dataLine->setText(i18n("Preview: ") + kfi->name()); ! dynamic_cast<QLabel*>( stack->widget( Preview ) ) ->setPixmap( pix ); } // preview job failed here... void PanelPopup::failedToView( const KFileItem* ) { + dataLine->setText(""); dynamic_cast<QLabel*>( stack->widget( Preview ) ) ->setText( i18n( "No preview available" ) ); } |