summaryrefslogtreecommitdiffstats
path: root/kdeui/kaboutdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/kaboutdialog.h')
-rw-r--r--kdeui/kaboutdialog.h633
1 files changed, 0 insertions, 633 deletions
diff --git a/kdeui/kaboutdialog.h b/kdeui/kaboutdialog.h
deleted file mode 100644
index 345bc9f2c..000000000
--- a/kdeui/kaboutdialog.h
+++ /dev/null
@@ -1,633 +0,0 @@
-/*
- * This file is part of the KDE Libraries
- * Copyright (C) 1999-2001 Mirko Boehm (mirko@kde.org) and
- * Espen Sand (espen@kde.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-/*
- * This file declares a class for creating "About ..." dialogs
- * in a general way. It provides geometry management and some
- * options to connect for, like emailing the author or maintainer.
- */
-
-
-#ifndef _KABOUTDIALOG_H_
-#define _KABOUTDIALOG_H_
-
-#include <kdialogbase.h>
-#include <tqstring.h>
-
-class TQFrame;
-class TQLabel;
-class TQVBoxLayout;
-class TQTabWidget;
-class KURLLabel;
-class KAboutContainer;
-class KAboutContainerBase;
-
-class KAboutWidgetPrivate;
-
-class KAboutContainerPrivate;
-/**
- * KAboutContainer can be used to make a application specific AboutDialog.
- */
-class KDEUI_EXPORT KAboutContainer : public TQFrame
-{
- Q_OBJECT
-
- public:
- KAboutContainer( TQWidget *parent=0, const char *name=0,
- int margin=0, int spacing=0,
- int childAlignment = AlignCenter,
- int innerAlignment = AlignCenter );
-
- void addWidget( TQWidget *widget );
- void addPerson( const TQString &name, const TQString &email,
- const TQString &url, const TQString &task,
- bool showHeader = false, bool showframe = false,
- bool showBold = false );
- void addTitle( const TQString &title, int tqalignment=AlignLeft,
- bool showframe = false, bool showBold = false );
- void addImage( const TQString &fileName, int tqalignment=AlignLeft );
-
- virtual TQSize tqsizeHint( void ) const;
- virtual TQSize tqminimumSizeHint( void ) const;
-
- protected:
- virtual void childEvent( TQChildEvent *e );
-
- signals:
- void urlClick( const TQString &url );
- void mailClick( const TQString &name, const TQString &address );
-
-
- private:
- TQVBoxLayout *mVbox;
- int mAlignment;
- KAboutContainerPrivate* const d;
-};
-
-class KAboutContributorPrivate;
-
-/**
- * Used internally by KAboutWidget
- * @internal
- */
-class KDEUI_EXPORT KAboutContributor : public TQFrame
-{
- Q_OBJECT
-
- public:
- KAboutContributor( TQWidget *parent=0, const char *name=0,
- const TQString &username=TQString::null,
- const TQString &email=TQString::null,
- const TQString &url=TQString::null,
- const TQString &work=TQString::null,
- bool showHeader=false, bool showFrame=true,
- bool showBold=false );
-
- void setName( const TQString &text, const TQString &header=TQString::null,
- bool update = true );
- void setEmail( const TQString &text, const TQString &header=TQString::null,
- bool update = true );
- void setURL( const TQString &text, const TQString &header=TQString::null,
- bool update = true );
- void setWork( const TQString &text, const TQString &header=TQString::null,
- bool update = true );
- TQString getName( void ) const;
- TQString getEmail( void ) const;
- TQString getURL( void ) const;
- TQString getWork( void ) const;
-
- virtual TQSize tqsizeHint( void ) const;
-
- protected:
- virtual void fontChange( const TQFont &oldFont );
-
- protected slots:
- void urlClickedSlot( const TQString& );
- void emailClickedSlot( const TQString& emailaddress );
-
- private:
- void updateLayout( void );
-
- signals:
- void sendEmail(const TQString& name, const TQString& email);
- void openURL(const TQString& url);
-
- private:
- TQLabel *mLabel[4];
- TQLabel *mText[4];
- bool mShowHeader;
- bool mShowBold;
-
- KAboutContributorPrivate* const d;
-
- virtual void setName(const char *_name) { TQFrame::setName(_name); }
-};
-
-/**
- * KAboutWidget is the main widget for KAboutDialog.
- *
- * It has a minimum size set.
- */
-class KDEUI_EXPORT KAboutWidget : public TQWidget
-{
- Q_OBJECT
-
-public:
-
- /**
- * The Qt constructor.
- */
- KAboutWidget(TQWidget* parent=0, const char* name=0 );
-
- /**
- * Adjust the minimum size (after setting the properties of the image and
- * the labels.
- */
- void adjust();
-
- /**
- * Sets the image as the application logo.
- */
- void setLogo(const TQPixmap&);
- /**
- * Sets the author's name and email address.
- */
- void setAuthor(const TQString& name, const TQString& email,
- const TQString& url, const TQString& work);
- /**
- * Sets the maintainers name and email address.
- */
- void setMaintainer(const TQString& name, const TQString& email,
- const TQString& url, const TQString& work);
- /**
- * Shows this person as one of the major contributors.
- */
- void addContributor(const TQString& name, const TQString& email,
- const TQString& url, const TQString& work);
- /**
- * Sets the text describing the version.
- */
- void setVersion(const TQString& name);
- // -------------------------------------------------------------------------
-protected slots:
- /**
- * Catches the signals from the contributors elements.
- */
- void sendEmailSlot(const TQString& name, const TQString& email);
- /**
- * Catches the clicked URLs.
- */
- void openURLSlot(const TQString& url);
- // -------------------------------------------------------------------------
-signals:
- /**
- * An email address has been selected by the user.
- */
- void sendEmail(const TQString& name, const TQString& email);
- /**
- * An URL has been clicked.
- */
- void openURL(const TQString& url);
- // -------------------------------------------------------------------------
-protected:
- // events:
- /**
- * The resize event.
- */
- void resizeEvent(TQResizeEvent*);
- /**
- * The label showing the program version.
- */
- TQLabel *version;
- /**
- * The label showing the text "Other contributors:".
- */
- TQLabel *cont;
- /**
- * The frame showing the logo.
- */
- TQLabel *logo;
- /**
- * The application developer.
- */
- KAboutContributor *author;
- /**
- * The application maintainer.
- */
- KAboutContributor *maintainer;
- /**
- * Show the maintainer?
- */
- bool showMaintainer;
- /**
- * A set of people who contributed to the application.
- */
- TQPtrList<KAboutContributor> contributors;
- // #########################################################################
- //
-private:
- KAboutWidgetPrivate* const d;
-};
-
-class KAboutDialogPrivate;
-/**
- * A KDialogBase with predefined main widget.
- *
- * As a KDialogBase it uses your application wide settings
- * for KDialogBase
- * objects (base frame tiles, main frame tiles etc).
- * To use it, simply create a KAboutDialog object, set all (or some) of its
- * properties and show it. Do not derive it to create your own about dialog
- * until you need some cool features that are unsupported and you have
- * contacted me to add them.
- *
- * The dialog can be created using two different constructors. The
- * difference between these constructors is the available components that
- * can be used to build the contents of the dialog. The first (Constructor I)
- * provides a number of easy to use methods. Basically it allows you
- * to add the components of choice, and the components are placed in a
- * predefined layout. You do not have to plan the layout. Everything is
- * taken care of.
- *
- * The second constructor (Constructor II) works in quite the same manner
- * as the first, but you have better control on where the components
- * are postioned in the layout and you have access to an extended number
- * of components you can install such as titles, product information,
- * a tabbed pages (where you can display rich text with url links) and
- * a person (developer) information field. The "About KDE" dialog box is
- * created with Constructor II.
- *
- * For the derived features, see the basic class KDialogBase.
- * @author Mirko Boehm (mirko@kde.org) and Espen Sand (espensa@online.no)
- * @see KDialogBase
- */
-class KDEUI_EXPORT KAboutDialog : public KDialogBase
-{
- Q_OBJECT
-
- public:
- /**
- * Layout formats.
- **/
- enum LayoutType
- {
- AbtPlain = 0x0001,
- AbtTabbed = 0x0002,
- AbtTitle = 0x0004,
- AbtImageLeft = 0x0008,
- AbtImageRight = 0x0010,
- AbtImageOnly = 0x0020,
- AbtProduct = 0x0040,
- AbtKDEStandard = AbtTabbed|AbtTitle|AbtImageLeft,
- AbtAppStandard = AbtTabbed|AbtTitle|AbtProduct,
- AbtImageAndTitle = AbtPlain|AbtTitle|AbtImageOnly
- };
-
- public:
- /**
- * The standard Qt constructor (Constructor I).
- *
- * Add components with the following methods:
- * setLogo(), setAuthor(), setMaintainer(),
- * addContributor(), or setVersion().
- * The dialog will be laid out automatically.
- */
- KAboutDialog( TQWidget *parent=0, const char *name=0, bool modal=true );
-
- /**
- * The extended constructor. (Constructor II).
- *
- * Add components with the methods:
- * setTitle(), setImage(), setImageBackgroundColor(),
- * setImageFrame(), setProduct(), addTextPage(),
- * addContainerPage(), addContainer(), or addPage().
- *
- * @param dialogLayout Use a mask of LayoutType flags.
- * @param caption The dialog caption. The text you specify is prepended
- * by i18n("About").
- * @param buttonMask Specifies what buttons will be visible.
- * @param defaultButton Specifies what button will be marked as the default.
- * @param parent Parent of the dialog.
- * @param name Dialog name (for internal use only)
- * @param modal Sets dialog modality. If false, the rest of the
- * program interface (other dialogs, for example) is accessible while
- * the dialog is open.
- * @param separator If true, a separator line is drawn between the action
- * buttons an the main widget.
- * @param user1 User button1 text.
- * @param user2 User button2 text.
- * @param user3 User button3 text.
- *
- */
- KAboutDialog( int dialogLayout, const TQString &caption, int buttonMask,
- ButtonCode defaultButton, TQWidget *parent=0,
- const char *name=0, bool modal=false, bool separator = false,
- const TQString &user1 = TQString::null,
- const TQString &user2 = TQString::null,
- const TQString &user3 = TQString::null );
-
- /**
- * Adjusts the dialog.
- *
- * You can call this method after you have set up all
- * the contents but it is not required. It is done automatically when
- * show() is executed.
- */
- void adjust();
-
- /**
- * Makes a modeless (modal = false in constructor) dialog visible.
- *
- * If you reimplement this method make sure you run it
- * in the new method (e.g., show()). Reimplemented
- * from KDialogBase.
- */
- virtual void show( void );
-
- /**
- * Makes a modeless (modal = false in constructor) dialog visible.
- *
- * If you reimplmement this method make sure you run it
- * in the new method (i.e., show( parent )).
- *
- * @param centerParent Center the dialog with respect to this widget.
- */
- virtual void show( TQWidget *centerParent );
-
- /**
- * (Constructor II only)
- * Sets a title (not caption) in the uppermost area of the dialog.
- *
- * @param title Title string.
- */
- void setTitle( const TQString &title );
-
- /**
- * (Constructor II only)
- * Define an image to be shown in the dialog. The position is dependent
- * on the @p dialogLayout in the constructor
- *
- * @param fileName Path to image file.
- */
- void setImage( const TQString &fileName );
-
- /**
- * (Constructor II only)
- * Define the program logo to be shown in the dialog. Use this to override the
- * default program logo. For example, use this function if the
- * KAboutDialog is for a panel applet and you want to override the
- * appletproxy logo with your own pixmap.
- *
- * @param fileName Path to file containing logo data in a format that
- * can be loaded by TQPixmap.
- *
- * @since 3.3
- */
- void setIcon( const TQString &fileName ) KDE_DEPRECATED; // KDE4: remove
-
- /**
- * Overloaded version of setProgramLogo(const TQPixmap& pixmap).
- *
- * @since 3.4
- */
- void setProgramLogo( const TQString &fileName );
-
- /**
- * (Constructor II only)
- * Define the program logo to be shown in the dialog. Use this to override the
- * default program logo. For example, use this function if the
- * KAboutDialog is for a panel applet and you want to override the
- * appletproxy logo with your own pixmap.
- *
- * @param pixmap The logo pixmap.
- *
- * @since 3.4
- */
- void setProgramLogo( const TQPixmap &pixmap );
-
- /**
- * (Constructor II only)
- * The image has a minimum size, but is centered within an area if the
- * dialog box is enlarged by the user. You set the background color
- * of the area with this method.
- *
- * @param color Background color.
- */
- void setImageBackgroundColor( const TQColor &color );
-
- /**
- * (Constructor II only)
- * Enables or disables a frame around the image. The frame is, by default,
- * enabled in the constructor
- *
- * @param state A value of @p true enables the frame
- */
- void setImageFrame( bool state );
-
- /**
- * (Constructor II only)
- * Prints the application name, KDE version, author, a copyright sign
- * and a year string. To the left of the text the standard application
- * icon is displayed.
- *
- * @param appName The application name.
- * @param version Application version.
- * @param author One or more authors.
- * @param year A string telling when the application was made.
- */
- void setProduct( const TQString &appName, const TQString &version,
- const TQString &author, const TQString &year );
-
- /**
- * (Constructor II only)
- * Adds a text page to a tab box. The text can be regular text or
- * rich text. The rich text can contain URLs and mail links.
- *
- * @param title Tab name.
- * @param text The text to display.
- * @param richText Set this to @p true if 'text' is rich text.
- * @param numLines The text area height will be adjusted so that this
- * is the minimum number of lines of text that are visible.
- * @return The frame that contains the page.
- */
- TQFrame *addTextPage( const TQString &title, const TQString &text,
- bool richText=false, int numLines=10 );
-
- /**
- * (Constructor II only)
- * Adds a license page to a tab box.
- *
- * @param title Tab name.
- * @param text The text to display.
- * @param numLines The text area height will be adjusted so that this
- * is the minimum number of lines of text that are visible.
- * @return The frame that contains the page.
- */
- TQFrame *addLicensePage( const TQString &title, const TQString &text,
- int numLines=10 );
-
- /**
- * (Constructor II only)
- * Adds a container to a tab box. You can add text and images to a
- * container.
- *
- * @param title Tab name.
- * @param childAlignment Specifies how the children of the container are
- * aligned with respect to the container.
- * @param innerAlignment Specifies how the children are aligned with
- * respect to each other.
- * @return The new container.
- */
- KAboutContainer *addContainerPage( const TQString &title,
- int childAlignment = AlignCenter, int innerAlignment = AlignCenter );
-
- /**
- * (Constructor II only)
- * Adds a container inside a TQScrollView to a tab box. You can add text
- * and images to a container.
- *
- * @param title Tab name.
- * @param childAlignment Specifies how the children of the container are
- * aligned with respect to the container.
- * @param innerAlignment Specifies how the children are aligned with
- * respect to each other.
- * @return The new container.
- */
- KAboutContainer *addScrolledContainerPage( const TQString &title,
- int childAlignment = AlignCenter, int innerAlignment = AlignCenter );
-
- /**
- * (Constructor II only)
- * Adds a container. You can add text and images to a container.
- *
- * @param childAlignment Specifies how the children of the container are
- * aligned with respect to the container.
- * @param innerAlignment Specifies how the children are aligned with
- * respect to each other.
- * @return The new container.
- */
- KAboutContainer *addContainer( int childAlignment, int innerAlignment );
-
- /**
- * (Constructor II only)
- * Adds an empty page to a tab box.
- *
- * @param title Tab name
- * @return The new page.
- */
- TQFrame *addPage( const TQString &title );
-
-
- /**
- * (Constructor I only)
- * Sets the image as the application logo.
- */
- void setLogo(const TQPixmap&);
-
- /**
- * (Constructor I only)
- * Sets the author's name and email address.
- */
- void setAuthor(const TQString& name, const TQString& email,
- const TQString& url, const TQString& work);
-
- /**
- * (Constructor I only)
- * Sets the maintainer's name and email address.
- */
- void setMaintainer(const TQString& name, const TQString& email,
- const TQString& url, const TQString& work);
-
- /**
- * (Constructor I only)
- * Show this person as one of the major contributors.
- */
- void addContributor(const TQString& name, const TQString& email,
- const TQString& url, const TQString& work);
-
- /**
- * (Constructor I only)
- * Sets the text describing the version.
- */
- void setVersion(const TQString& name);
-
- /**
- * Create a modal dialog with an image in the upper area with a
- * URL link below.
- */
- static void imageURL( TQWidget *parent, const TQString &caption,
- const TQString &path, const TQColor &imageColor,
- const TQString &url );
-
-signals:
- /**
- * Send an email to this person.
- *
- * The application must provide the
- * functionality.
- */
- void sendEmail(const TQString& name, const TQString& email);
-
- /**
- * Open the selected URL.
- */
- void openURL(const TQString& url);
- // ----------------------------------------------------------------------------
-protected:
- /**
- * The main widget (Constructor I)
- */
- KAboutWidget * about;
-
- /**
- * The main widget (Constructor II)
- */
- KAboutContainerBase *mContainerBase;
-
- // -------------------------------------------------------------------------
-protected slots:
-
- /**
- * Connected to widget->sendEmail.
- */
- void sendEmailSlot(const TQString& name, const TQString& email);
-
- /**
- * Open this URL.
- */
- void openURLSlot(const TQString& url);
-
- /**
- * (Constructor II only)
- * Tells the position of the mouse cursor when the left mouse button
- * is pressed above an image
- */
- virtual void mouseTrackSlot( int mode, const TQMouseEvent *e );
-
- // #########################################################################
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- KAboutDialogPrivate* const d;
-};
-
-#endif // defined KABOUTDIALOG_H