Logo Search packages:      
Sourcecode: kbfx version File versions  Download package

vistabar.h

/***************************************************************************
 *   Copyright (C) 2005 by Siraj Razick                                    *
 *   siraj@kdemail.net                                                     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/


#ifndef VISTABAR_H
#define VISTABAR_H

#include "vistabar.h"
#include "kbfxconfig.h"
#include <dcopref.h>
#include <qvariant.h>
#include <qlabel.h>
#include <qtabwidget.h>
#include <qwidget.h>
#include <qiconview.h>
#include <qframe.h>
#include <qlayout.h>
//#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qaction.h>
#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qtoolbar.h>
#include <qimage.h>
#include <qpixmap.h>
#include <qdir.h>
#include <kdesktopfile.h>
#include <kiconloader.h>
#include <kmessagebox.h>
#include <kicontheme.h>
#include <kprocess.h>
#include <qheader.h>
#include <qfileinfo.h>
#include <kmessagebox.h>
#include <krun.h>
#include <kurl.h>
#include <kservice.h>
#include <kservicegroup.h>
#include <qstringlist.h>
#include <kstandarddirs.h>
#include <kservicetype.h>
#include <qimage.h>
#include <qpixmap.h>
#include <kimageeffect.h>
#include <kcombobox.h>
#include <ktabwidget.h>
#include <kuser.h>
#include <qvariant.h>
#include <qmainwindow.h>
#include <qpixmap.h>
#include <qimage.h>
#include <qlistview.h>
#include <qbutton.h>
#include <klistbox.h>
#include <kcombobox.h>
#include <kpixmapprovider.h>
#include <ktabwidget.h>
#include <qtoolbox.h>
#include <qwidgetstack.h>
#include <kstandarddirs.h>
#include <qlabel.h>
#include "vistalistbox.h"
#include "kbfxspinxlistbox.h"
#include "kbfxlistviewitem.h"
#include  "spinxtop.h"
#include "spinxbutton.h"


extern void kbFXDebug (QString);

class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QSpacerItem;
class QAction;
class QActionGroup;
class QToolBar;
class QPopupMenu;
class QLabel;
class QTabWidget;
class QWidget;
class QIconView;
class QIconViewItem;
class QFrame;


class vista:public QWidget
{
Q_OBJECT public:
  vista (QWidget * parent = 0, const char *name = 0, WFlags fl =
       WType_TopLevel);
   ~vista ();

  void KAppBarSetTheme (QPixmap loghover, QPixmap lockhover, QPixmap maintop,
                  QPixmap mainbg, QPixmap tabbg, QPixmap mainbot,
                  QPixmap mask, QPixmap listboxbg, QPixmap logoutbg,
                  QPixmap lockbg, QPixmap listbg, QPixmap find,
                  QPixmap dudebox);

  void KappbarSetTileImages (QPixmap normal, QPixmap hover, QPixmap rhs,
                       QPixmap rhshover, QPixmap sep);
//  void addTab (QTabWidget * t);
  void addApplication (QListBox * view, QString icon, QString action,
                   QString exec, QString comment);

  void setThemeName (QString name)
  {
    theme = name;
  }


  void sortHistory ();
  void addSeparator (QListBox * view, QString action);
  void connectSignalsWithSlots (QWidget * parendref);

  //barheight should be kept public . else there want be a way to place the menu on topof kicker.
  int barheight;
  void recursiveAppBrowser (KServiceGroup::Ptr service);



  public slots:void startApp (QListBoxItem * item);
  void startApp (const QString &);
  void textSlot (const QString &);
  void startAction (QListBoxItem * item);
  void createApplicationList ();
  void mouseOverItemSlot (QListBoxItem * item);
  void listboxMouseOverSlot (QListBoxItem * item);
  void listItemZoomIn (QListBoxItem *);

protected:
  QHBoxLayout * frame3Layout;

  protected slots:void readConfig ();
  void closeMenu (QListBoxItem *);
//      void scroll(int);
  void logoutSlot ();
  void lockSlot ();

private:
  QPixmap top_banner;
  QPixmap back_banner;
  QPixmap bot_banner;
  QPixmap item_banner;
  QPixmap tab_banner;
  QPixmap tileNormal;
  QPixmap tileHover;
  QPixmap RHS_tileNormal;
  QPixmap RHS_tileHover;
  QPixmap RHS_sep;

  QLabel *backbg;
  KbfxSpixTop *topbg;
  QLabel *botbg;
  QWidgetStack *tab;
  KbfxSpinxListBox *tabindex;
  KbfxSpinxListBox *list1;
  QFrame *frame3;
  QLabel *textLabel1;
  QLabel *textLabel2;
  QWidget *parentRef;

  //FIXME:add dynamic allocation
  QWidget *widgetarray[1000];
  KbfxSpinxListBox *listarray[4000];



  QPixmap cur;
  QListViewItem *curItem;
  int resetpending;
  //TODO:replace the following with kbfx_vista_buttons
  QButton *logout;
  QButton *lock;
  //TOBAAD KDE still has no dcop call for switch user

  KHistoryCombo *listbar;
  QStringList files;
  QString apps;
  //FIXME:the name should change
  int numberoftabs;
  /* theme  support  */
  QWidget *place;
  SpinxButton *logoutbtn;
  SpinxButton *lockbtn;
  QString theme;
  QString history;
/* Animation stuff */
  int zoomWidth;
  int zoomHeight;
  QString prv;
  QString kmenueditroot;
  int j;
};

#endif

Generated by  Doxygen 1.6.0   Back to index