亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? statusbarbase.h

?? Amarok是一款在LINUX或其他類UNIX操作系統(tǒng)中運行的音頻播放器軟件。 經(jīng)過兩年開發(fā)后
?? H
字號:
/*************************************************************************** *   Copyright (C) 2005 by Max Howell <max.howell@methylblue.com>          * *                                                                         * *   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 Steet, Fifth Floor, Boston, MA  02111-1307, USA.             * ***************************************************************************/#ifndef KDE_STATUSBAR_H#define KDE_STATUSBAR_H#include "progressBar.h" //convenience#include "amarok_export.h"#include <qwidget.h>     //baseclass#include <qmap.h>        //stack allocated#include <qvaluelist.h>  //stack allocatedclass QLabel;class QTimer;namespace KIO { class Job; }//TODO// * concept of a temporary message that is removed when a qobject parent is deletednamespace KDE{    class OverlayWidget;    typedef QMap<const QObject*, ProgressBar*> ProgressMap;    /**     * @class KDE::StatusBar     * @short advanced statusBar     * @author Max Howell <max.howell@methylblue.com>     *     * Like a normal QStatusBar, but add widgets directly:     *     *    new QLabel( text, statusbar );     *     * The statusbar has some handy progress monitoring behaviour, use like so:     *     *    statusbar->newProgressOperation( myObject )     *          .setDescription( i18n("MyProgressOperation") )     *          .setStatus( i18n("Stage1") )     *          .setAbortSlot( myObject, SLOT(abort()) )     *          .setTotalSteps( 100 );     *     * The newProgressOperation function returns a KDE::ProgressBar, which is     * a QProgressBar with some additional functions that return ProgressBar&,     * so you can chain the mutators like above. @see KDE::ProgressBar     *     * After this point you can use setProgress( QObject*, int steps ) to update     * the progress for this progress operation. Only one progress operation per     * QObject!     *     * You can also follow KIO::Jobs, with built in error handling, and     * ThreadManager::Jobs have built in thread-safe progress handling.     *     * You can show long status/error messages using longMessage(), these are     * meant to be instead of showing an irritating, interuptory KMessageBox.     *     * Caveats:     * This only looks sensible if the statusbar is at the bottom of the screen     *     * @see KDE::ProgressBar     */    class StatusBar : public QWidget    {        Q_OBJECT    public:        StatusBar( QWidget *parent, const char *name = "mainStatusBar" );        enum MessageType { Information, Question, Sorry, Warning, Error, ShowAgainCheckBox, None };        /**         * Start a progress operation, if owner is 0, the return value is         * undefined - the application will probably crash.         * @param owner controls progress for this operation         * @return the progressBar so you can configure its parameters         * @see setProgress( QObject*, int )         * @see incrementProgress( QObject* )         * @see setProgressStatus( const QObject*, const QString& )         */        ProgressBar &newProgressOperation( QObject *owner );        /**         * Monitor progress for a KIO::Job, very handy.         */        ProgressBar &newProgressOperation( KIO::Job* );        void incrementProgressTotalSteps( const QObject *owner, int inc = 1 );        void incrementProgress( const QObject *owner );        void setProgressStatus( const QObject *owner, const QString &text );    public slots:        /**         * The statusbar has a region where you can display a mainMessage.         * It persists after all other message-types are displayed         */        void setMainText( const QString &text );        /// resets mainText if you've done a shortMessage        void resetMainText();        /**         * Shows a non-invasive messgeBox style message that the user has to dismiss         * but it doesn't interupt whatever he is doing at the current time.         * Generally you should use these, as it is very easy for a user to not notice         * statusBar messages.         */        void longMessage( const QString &text, int type = Information ) LIBAMAROK_EXPORT ;        void longMessageThreadSafe( const QString &text, int type = Information );        /**         * Shows a short message, with a button that can be pushed to show a long         * message         */        void shortLongMessage( const QString &_short, const QString &_long, int type = Information );        /**         * Set a temporary message over the mainText label, for 5 seconds.         * ONLY USE FOR STATUS MESSAGES! ie "Buffering...", "Connecting to source..."         */        void shortMessage( const QString &text, bool longShort = false );        /** Stop anticipating progress from sender() */        void endProgressOperation();        /** Stop anticipating progress from @param owner */        void endProgressOperation( QObject *owner );        /**         * Convenience function works like setProgress( QObject*, int )         * Uses the return value from sender() to determine the owner of         * the progress bar in question         */        void setProgress( int steps );        void setProgress( const QObject *owner, int steps );        /**         * Convenience function works like setTotalSteps( QObject*, int )         * Uses the return value from sender() to determine the owner of         * the progress bar in question         */        //void setTotalSteps( int totalSteps );        /**         * Convenience function works like incrementProgress( QObject* )         * Uses the return value from sender() to determine the owner of         * the progress bar in question         */        void incrementProgress();    public slots:        void toggleProgressWindow( bool show );        void abortAllProgressOperations();    private slots:        /** For internal use against KIO::Jobs */        void setProgress( KIO::Job*, unsigned long percent );        void showMainProgressBar();        void hideMainProgressBar();        void updateProgressAppearance();        void showShortLongDetails();        void popupDeleted( QObject* );    protected:        virtual void polish();        virtual void customEvent( QCustomEvent* );        virtual void paintEvent( QPaintEvent* );        virtual bool event( QEvent* );        /**         * You must parent the widget to the statusbar, we won't do that         * for you! The widget will be added to the right of the layout.         * Currently you must add widgets before the statusbar gets shown         * for the first time, because we are not currently very flexible.         */        void addWidget( QWidget *widget );        QLabel *m_mainTextLabel;    private:        struct Message        {            Message() : type( KDE::StatusBar::None ), offset( 0 ) {}            Message( const QString &_text, const MessageType _type ) : text( _text ), type( _type ), offset( 0 ) {}            QString text;            MessageType type;            int offset;        };        void updateTotalProgress();        bool allDone(); ///@return true if all progress operations are complete        void pruneProgressBars(); /// deletes old progress bars        void writeLogFile( const QString &text );        int  m_logCounter;        QWidget *cancelButton() { return static_cast<QWidget*>( child( "cancelButton" ) ); }        QWidget *toggleProgressWindowButton() { return static_cast<QWidget*>( child( "showAllProgressDetails" ) ); }        QWidget *progressBox() { return static_cast<QWidget*>( child( "progressBox" ) ); }        QWidget *shortLongButton() { return static_cast<QWidget*>( child( "shortLongButton" ) ); }        OverlayWidget *m_popupProgress;        QProgressBar  *m_mainProgressBar;        ProgressMap          m_progressMap;        QValueList<QWidget*> m_messageQueue;        QString              m_mainText;        QString              m_shortLongText;        int                  m_shortLongType;        QLayout *m_otherWidgetLayout;    };}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人福利视频在线| 国产亚洲成av人在线观看导航 | 日日噜噜夜夜狠狠视频欧美人| 日本欧美肥老太交大片| 蜜臀av性久久久久蜜臀av麻豆| 国产成人精品免费在线| 欧美精品精品一区| 日韩二区在线观看| 福利一区在线观看| 欧美精品高清视频| 一区在线观看视频| 国产一区二区三区精品欧美日韩一区二区三区 | 久久这里只有精品视频网| 日韩理论电影院| 国产在线国偷精品免费看| 欧美性大战久久久久久久蜜臀| 久久久久久免费网| 日本成人在线电影网| 色香蕉久久蜜桃| 久久久国际精品| 老司机午夜精品| 欧美视频一区二区| 一区二区三区免费看视频| 国产**成人网毛片九色 | 亚洲成人综合视频| 91视频精品在这里| 国产精品成人一区二区三区夜夜夜| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美色精品在线视频| 亚洲欧美国产毛片在线| 99久久久免费精品国产一区二区| 久久久久久久久久久久久夜| 久久97超碰色| 精品国产不卡一区二区三区| 久久97超碰国产精品超碰| 91精品国产综合久久福利| 视频在线观看91| 在线播放国产精品二区一二区四区| 亚洲综合色在线| 欧美午夜精品电影| 天堂蜜桃一区二区三区 | 色妹子一区二区| 亚洲激情图片小说视频| 色狠狠桃花综合| 亚洲综合一区二区三区| 欧美日韩一区二区在线观看| 亚洲二区在线观看| 91精品国产综合久久香蕉麻豆| 日韩电影免费一区| 久久久青草青青国产亚洲免观| 国产麻豆成人精品| 中文字幕一区不卡| 欧亚洲嫩模精品一区三区| 亚洲成人av一区二区三区| 91精选在线观看| 国产真实精品久久二三区| 中文字幕av免费专区久久| 91在线视频播放| 亚洲成人你懂的| xfplay精品久久| 91视频你懂的| 奇米影视在线99精品| 久久久国产午夜精品| 91在线视频在线| 蜜乳av一区二区| 中文字幕欧美三区| 欧美日韩综合在线| 精品在线你懂的| 亚洲视频免费在线观看| 欧美精品久久一区| 国产成人免费视频网站| 伊人色综合久久天天| 日韩欧美国产系列| 91麻豆精品一区二区三区| 偷拍自拍另类欧美| 国产精品欧美久久久久一区二区| 色综合久久99| 经典三级在线一区| 亚洲精品少妇30p| 精品久久久久香蕉网| 99精品偷自拍| 国产综合久久久久影院| 亚洲综合一区在线| 久久久久国产精品人| 欧美色男人天堂| 99久久久免费精品国产一区二区 | 日本中文字幕一区二区视频| 亚洲一区二区三区视频在线 | 日本一二三四高清不卡| 精品婷婷伊人一区三区三| 激情综合色综合久久| 亚洲国产视频在线| **性色生活片久久毛片| 欧美r级电影在线观看| 欧美性极品少妇| 99v久久综合狠狠综合久久| 久久不见久久见免费视频7| 亚洲午夜一二三区视频| 国产精品久久久久久久久免费丝袜| 91精品国产色综合久久ai换脸| 91在线免费播放| 成人免费视频视频| 精品无人码麻豆乱码1区2区| 亚洲chinese男男1069| 亚洲三级在线免费观看| 欧美国产激情二区三区| 久久综合成人精品亚洲另类欧美| 91精品一区二区三区在线观看| 欧美午夜电影一区| 91久久国产综合久久| av激情成人网| www.66久久| 91一区二区在线观看| 国产精品99精品久久免费| 经典一区二区三区| 国内精品伊人久久久久av一坑| 日本伊人精品一区二区三区观看方式| 亚洲午夜在线观看视频在线| 亚洲激情在线播放| 亚洲综合一二区| 亚欧色一区w666天堂| 亚洲一区二区免费视频| 亚洲一区二区精品久久av| 亚洲午夜免费电影| 亚洲午夜国产一区99re久久| 亚洲一区二区综合| 五月天一区二区三区| 日韩高清在线不卡| 久久国产精品99精品国产 | 亚洲国产成人porn| 天堂va蜜桃一区二区三区 | 国产成人免费xxxxxxxx| 福利视频网站一区二区三区| 懂色av一区二区在线播放| www.在线成人| 欧洲亚洲精品在线| 在线综合视频播放| 欧美精品一区二区三区蜜桃视频| 26uuu精品一区二区| 国产精品三级av在线播放| 亚洲情趣在线观看| 亚洲国产精品久久一线不卡| 蜜桃视频在线一区| 国产成人精品午夜视频免费| 91免费看视频| 欧美日韩精品免费观看视频| 日韩免费视频一区二区| 国产精品区一区二区三区| 亚洲综合图片区| 国产一区二区三区免费播放| 波多野结衣一区二区三区 | 丝袜美腿亚洲色图| 91免费国产在线观看| 欧美日韩高清在线播放| 欧美精品一区二区三区高清aⅴ| 亚洲欧洲日韩女同| 日产国产欧美视频一区精品| 丁香婷婷综合激情五月色| 在线免费亚洲电影| 精品福利视频一区二区三区| 国产精品大尺度| 精品在线播放午夜| 在线观看不卡视频| 2020国产精品久久精品美国| 亚洲精品ww久久久久久p站| 久久99精品久久久久久久久久久久| av高清不卡在线| 精品国产免费人成在线观看| 亚洲女同ⅹxx女同tv| 国内久久精品视频| 欧美美女一区二区三区| 国产精品久久777777| 久久av资源网| 欧美另类久久久品| 成人免费在线观看入口| 精品一区二区三区欧美| 欧美日韩美少妇| 亚洲视频一区二区在线观看| 精品亚洲国产成人av制服丝袜| 一本一道波多野结衣一区二区| 久久精品日韩一区二区三区| 午夜精品久久久久久久久久久 | 日本一区二区高清| 麻豆中文一区二区| 欧美日本一区二区三区四区| 亚洲欧美色一区| 成人免费观看男女羞羞视频| 日韩精品一区二区在线| 午夜精品久久久久久久| 91影院在线免费观看| 国产欧美日韩综合| 久久99精品久久久久久动态图 | 精品久久久久久久久久久久久久久| 一区二区三区不卡视频| 91女厕偷拍女厕偷拍高清| 中文字幕亚洲在| 91精品欧美综合在线观看最新 | 国产精品青草综合久久久久99| 精品亚洲欧美一区| 久久这里只有精品首页|