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.
basket/src/variouswidgets.h

158 lines
4.6 KiB

/***************************************************************************
* Copyright (C) 2003 by S<EFBFBD>bastien Lao<EFBFBD>t *
* slaout@linux62.org *
* *
* 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., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#ifndef VARIOUSWIDGETS_H
#define VARIOUSWIDGETS_H
#include <tqwidget.h>
#include <kcombobox.h>
#include <tqdialog.h>
#include <kurllabel.h>
#include <tqstring.h>
#include <kdialogbase.h>
class TQLineEdit;
class KIconViewItem;
class TQIconViewItem;
class Basket;
/** A widget to select a command to run,
* with a TQLineEdit and a TQPushButton.
* @author S<EFBFBD>bastien Lao<EFBFBD>t
*/
class RunCommandRequester : public TQWidget
{
Q_OBJECT
public:
RunCommandRequester(const TQString &runCommand, const TQString &message, TQWidget *parent = 0, const char *name = 0);
~RunCommandRequester();
TQString runCommand();
void setRunCommand(const TQString &runCommand);
TQLineEdit *lineEdit() { return m_runCommand; }
private slots:
void slotSelCommand();
private:
TQLineEdit *m_runCommand;
TQString m_message;
};
/** TQComboBox to ask icon size
* @author S<EFBFBD>bastien Lao<EFBFBD>t
*/
class IconSizeCombo : public TQComboBox
{
Q_OBJECT
public:
IconSizeCombo(bool rw, TQWidget *parent = 0, const char *name = 0);
~IconSizeCombo();
int iconSize();
void setSize(int size);
};
/** A window that the user resize to graphically choose a new image size
* TODO: Create a SizePushButton or even SizeWidget
* @author S<EFBFBD>bastien Lao<EFBFBD>t
*/
class ViewSizeDialog : public TQDialog
{
Q_OBJECT
public:
ViewSizeDialog(TQWidget *parent, int w, int h);
~ViewSizeDialog();
private:
virtual void resizeEvent(TQResizeEvent *);
TQWidget *m_sizeGrip;
};
/** A label displaying a link that, once clicked, offer a What's This messageBox to help users.
* @author S<EFBFBD>bastien Lao<EFBFBD>t
*/
class HelpLabel : public KURLLabel
{
Q_OBJECT
public:
HelpLabel(const TQString &text, const TQString &message, TQWidget *parent);
~HelpLabel();
TQString message() { return m_message; }
public slots:
void setMessage(const TQString &message) { m_message = message; }
void showMessage();
protected:
void keyPressEvent(TQKeyEvent *event);
private:
TQString m_message;
};
/** A dialog to choose the size of an icon.
* @author S<EFBFBD>bastien Lao<EFBFBD>t
*/
class IconSizeDialog : public KDialogBase
{
Q_OBJECT
public:
IconSizeDialog(const TQString &caption, const TQString &message, const TQString &icon, int iconSize, TQWidget *parent);
~IconSizeDialog();
int iconSize() { return m_iconSize; } /// << @return the choosen icon size (16, 32, ...) or -1 if canceled!
protected slots:
void slotCancel();
void slotSelectionChanged();
void choose(TQIconViewItem*);
private:
KIconViewItem *m_size16;
KIconViewItem *m_size22;
KIconViewItem *m_size32;
KIconViewItem *m_size48;
KIconViewItem *m_size64;
KIconViewItem *m_size128;
int m_iconSize;
};
/**
* A missing class from KDE (and TQt): a combobox to select a font size!
*/
class FontSizeCombo : public KComboBox
{
Q_OBJECT
public:
FontSizeCombo(bool rw, bool withDefault, TQWidget *parent = 0, const char *name = 0);
~FontSizeCombo();
void setFontSize(int size);
int fontSize();
protected:
void keyPressEvent(TQKeyEvent *event);
signals:
void sizeChanged(int size);
void escapePressed();
void returnPressed2();
private slots:
void textChangedInCombo(const TQString &text);
private:
bool m_withDefault;
};
#endif // VARIOUSWIDGETS_H