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

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

?? columnlist.cpp

?? Amarok是一款在LINUX或其他類UNIX操作系統(tǒng)中運(yùn)行的音頻播放器軟件。 經(jīng)過兩年開發(fā)后
?? CPP
字號(hào):
/*  Copyright (c) 2006 Gábor Lehel <illissius@gmail.com>  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.*/#include <config.h>#include <qheader.h>#include <qpainter.h>#include <qtooltip.h>#include <qvbox.h>#include <klistview.h>#include <kpushbutton.h>#include "amarokconfig.h"#include "metabundle.h"#include "playlist.h"#include "columnlist.h"class MyCheckListItem: public QCheckListItem{    typedef QCheckListItem super;    ColumnList *m_list;public:    int column;    MyCheckListItem( int c, QListView *v, const QString &s, Type t, ColumnList *list ):        super( v, s, t ), m_list( list ), column( c ) { }    virtual void paintCell( QPainter * p, const QColorGroup &cg, int c, int w, int a )    {        QFont f = p->font();        if( isOn() )            f.setBold( !f.bold() );        p->setFont( f );        super::paintCell( p, cg, c, w, a );    }    virtual void stateChange( bool b )    {        super::stateChange( b );        m_list->setChanged();    }    MyCheckListItem *itemAbove() { return static_cast<MyCheckListItem*>( QCheckListItem::itemAbove() ); }    MyCheckListItem *itemBelow() { return static_cast<MyCheckListItem*>( QCheckListItem::itemBelow() ); }};ColumnList::ColumnList( QWidget *parent, const char *name )    : QHBox( parent, name ), m_changed( true ){    setSpacing( 5 );    QVBox *buttonbox = new QVBox( this );    m_up = new KPushButton( KGuiItem( QString::null, "up" ), buttonbox );    QToolTip::add( m_up, i18n( "Move column up" ) );    connect( m_up, SIGNAL( clicked() ), this, SLOT( moveUp() ) );    m_down = new KPushButton( KGuiItem( QString::null, "down" ), buttonbox );    QToolTip::add( m_down, i18n( "Move column down" ) );    connect( m_down, SIGNAL( clicked() ), this, SLOT( moveDown() ) );    m_list = new KListView( this );    m_list->addColumn("");    m_list->header()->hide();    m_list->setSelectionMode( QListView::Single );    m_list->setResizeMode( QListView::LastColumn );    m_list->setSorting( -1 );    m_list->setAcceptDrops( true );    m_list->setDragEnabled( true );    m_list->setDropVisualizer( true );    m_list->setDropVisualizerWidth( 3 );    connect( m_list, SIGNAL( moved() ), this, SLOT( updateUI() ) );    connect( m_list, SIGNAL( moved() ), this, SLOT( setChanged() ) );    connect( m_list, SIGNAL( currentChanged( QListViewItem* ) ), this, SLOT( updateUI() ) );    QHeader* const h = Playlist::instance()->header();    for( int i = h->count() - 1; i >= 0; --i )    {        const int s = h->mapToSection( i );        if( ( s != MetaBundle::Rating || AmarokConfig::useRatings() ) &&            ( s != MetaBundle::Mood   || AmarokConfig::showMoodbar() ) &&            ( s != MetaBundle::Score  || AmarokConfig::useScores() ) )        {            ( new MyCheckListItem( s, m_list, MetaBundle::prettyColumnName( s ), QCheckListItem::CheckBox, this ) )                ->setOn( h->sectionSize( s ) );        }    }    m_list->setCurrentItem( m_list->firstChild() );    updateUI();    resetChanged();}QValueList<int> ColumnList::visibleColumns() const{    QValueList<int> v;    for( MyCheckListItem *item = static_cast<MyCheckListItem*>( m_list->firstChild() ); item; item = item->itemBelow() )        if( item->isOn() )            v.append( item->column );    return v;}QValueList<int> ColumnList::columnOrder() const{    QValueList<int> v;    for( MyCheckListItem *item = static_cast<MyCheckListItem*>( m_list->firstChild() ); item; item = item->itemBelow() )        v.append( item->column );    return v;}bool ColumnList::isChanged() const{    return m_changed;}void ColumnList::resetChanged(){    m_changed = false;}void ColumnList::moveUp(){    if( QListViewItem *item = m_list->currentItem() )        if( item->itemAbove() )        {            m_list->moveItem( item, 0, item->itemAbove()->itemAbove() );            m_list->setCurrentItem( item );            m_list->ensureItemVisible( item );            updateUI();            setChanged();        }}void ColumnList::moveDown(){    if( QListViewItem *item = m_list->currentItem() )    {        m_list->moveItem( item, 0, item->itemBelow() );        m_list->setCurrentItem( item );        m_list->ensureItemVisible( item );        updateUI();        setChanged();    }}void ColumnList::updateUI(){    m_up->setEnabled( m_list->currentItem() && m_list->currentItem()->itemAbove() );    m_down->setEnabled( m_list->currentItem() && m_list->currentItem()->itemBelow() );}void ColumnList::setChanged() //slot{    if( !m_changed )    {        m_changed = true;        emit changed();    }}ColumnsDialog::ColumnsDialog()    : KDialogBase( PlaylistWindow::self(), 0, false, i18n( "Playlist Columns" ) ),      m_list( new ColumnList( this ) ){    setMainWidget( m_list );    enableButtonApply( false );    connect( m_list, SIGNAL( changed() ), this, SLOT( slotChanged() ) );}ColumnsDialog::~ColumnsDialog(){    s_instance = 0;}void ColumnsDialog::slotApply(){    apply();    KDialogBase::slotApply();}void ColumnsDialog::slotOk(){    apply();    KDialogBase::slotOk();}void ColumnsDialog::hide(){    KDialogBase::hide();    delete this;}void ColumnsDialog::apply(){    Playlist::instance()->setColumns( m_list->columnOrder(), m_list->visibleColumns() );    m_list->resetChanged();    enableButtonApply( false );}void ColumnsDialog::display() //static{    if( !s_instance )        s_instance = new ColumnsDialog;    s_instance->show();}void ColumnsDialog::slotChanged() //slot{    enableButtonApply( true );}ColumnsDialog *ColumnsDialog::s_instance = 0;#include "columnlist.moc"

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩视频不卡| 99视频精品在线| 欧美一区二区三级| 久久精品国产成人一区二区三区| 日韩精品在线网站| 国产成人福利片| 亚洲男帅同性gay1069| 欧美影院一区二区三区| 午夜精品久久久久久久久| 欧美一区二区精品在线| 国产在线一区二区| 国产精品久久久久影院老司| 在线国产电影不卡| 蜜臀久久久99精品久久久久久| 精品国产sm最大网站| 国产不卡在线一区| 亚洲午夜免费视频| 精品处破学生在线二十三| 不卡av在线网| 日本最新不卡在线| 国产精品伦一区| 欧美视频在线观看一区二区| 极品少妇一区二区三区精品视频| 成人免费一区二区三区视频| 欧美日韩第一区日日骚| 国产大陆精品国产| 污片在线观看一区二区| 欧美激情资源网| 欧美日韩一区二区在线视频| 国产风韵犹存在线视精品| 亚洲一区二区美女| 国产欧美日本一区视频| 欧美精选在线播放| 成人av在线网站| 免费高清视频精品| 亚洲精品国产一区二区精华液 | 精品久久久久av影院| 国产91精品一区二区| 天堂在线亚洲视频| 国产精品激情偷乱一区二区∴| 欧美精品tushy高清| 99国产精品久久久| 国产揄拍国内精品对白| 亚洲福利国产精品| 最新中文字幕一区二区三区| 欧美一级一区二区| 欧美亚洲丝袜传媒另类| 成年人网站91| 国产一区二区三区在线观看精品 | 欧美体内she精高潮| 国产白丝网站精品污在线入口 | 国产一区二区三区免费看 | 欧美一区二区三区四区高清| 91片在线免费观看| 国产aⅴ精品一区二区三区色成熟| 日本在线不卡视频| 亚洲一二三区在线观看| 中文字幕一区二区在线观看| 久久你懂得1024| 日韩亚洲欧美在线观看| 337p亚洲精品色噜噜狠狠| 欧美婷婷六月丁香综合色| 91视频观看免费| 97精品视频在线观看自产线路二| 国产乱码精品一区二区三区五月婷| 日韩精品每日更新| 亚洲成在人线在线播放| 亚洲精品美国一| 一区二区三区中文字幕在线观看| 国产精品美女久久福利网站| 国产精品久久久久久久久免费樱桃 | 欧美日韩午夜精品| 欧美在线观看禁18| 欧美日韩国产综合草草| 欧美手机在线视频| 欧美精品日韩精品| 91精品国产品国语在线不卡| 在线不卡a资源高清| 欧美一区二区黄| 日韩午夜在线影院| 精品欧美一区二区三区精品久久| 日韩一级片网站| 精品国产免费人成电影在线观看四季| 日韩欧美你懂的| 精品日产卡一卡二卡麻豆| 久久久亚洲午夜电影| 中文字幕免费观看一区| 1024成人网| 亚洲一区在线观看免费| 日韩电影在线免费观看| 六月丁香综合在线视频| 国产成人自拍网| 91美女在线观看| 欧美性感一类影片在线播放| 91精品国产高清一区二区三区 | 亚洲国产精品久久艾草纯爱| 亚洲国产精品天堂| 奇米精品一区二区三区在线观看一 | 懂色一区二区三区免费观看| 不卡的av在线| 欧美日韩一区二区三区在线看| 日韩视频一区二区在线观看| 国产婷婷色一区二区三区四区| 国产精品久久久久久久久免费相片 | 精品乱人伦一区二区三区| 久久久国产精品午夜一区ai换脸| 国产精品人妖ts系列视频| 亚洲一区在线视频| 久久国产尿小便嘘嘘尿| 972aa.com艺术欧美| 在线91免费看| 中文幕一区二区三区久久蜜桃| 亚洲六月丁香色婷婷综合久久| 午夜日韩在线电影| 黄色精品一二区| 欧洲中文字幕精品| 欧美xxx久久| 亚洲精品视频一区二区| 韩国视频一区二区| 在线一区二区三区| 久久午夜羞羞影院免费观看| 亚洲美女视频在线| 国内一区二区在线| 欧美性猛交xxxxxx富婆| 中文字幕久久午夜不卡| 三级欧美在线一区| av综合在线播放| 欧美大胆一级视频| 亚洲成人免费在线| 成人a区在线观看| 精品日本一线二线三线不卡| 一区二区三区四区在线免费观看| 黄色精品一二区| 欧美嫩在线观看| 亚洲人被黑人高潮完整版| 激情图片小说一区| 日韩一区和二区| 亚洲成人自拍偷拍| 91一区二区三区在线观看| 国产日产亚洲精品系列| 青青草伊人久久| 欧美日高清视频| 亚洲精品你懂的| 91视视频在线观看入口直接观看www| 精品国产三级电影在线观看| 日韩avvvv在线播放| 欧洲一区在线观看| 亚洲精品国久久99热| 91视频免费播放| 国产精品每日更新| 成人黄色国产精品网站大全在线免费观看 | 91在线看国产| 国产精品午夜久久| 高清视频一区二区| 精品成人在线观看| 久草中文综合在线| 日韩三区在线观看| 日本中文字幕一区二区视频 | 久久香蕉国产线看观看99| 日韩va欧美va亚洲va久久| 欧美日本一区二区三区四区| 亚洲自拍偷拍九九九| 欧洲亚洲精品在线| 亚洲欧美偷拍卡通变态| 91麻豆国产香蕉久久精品| 亚洲图片另类小说| 色先锋久久av资源部| 一区二区久久久久久| 在线免费观看日本欧美| 亚洲一区二区三区中文字幕在线| 在线观看视频欧美| 亚洲综合网站在线观看| 欧美日韩精品久久久| 天天影视网天天综合色在线播放| 欧美精品v国产精品v日韩精品 | 国产九九视频一区二区三区| 26uuu色噜噜精品一区二区| 韩国三级电影一区二区| 国产亚洲精品福利| 国产.精品.日韩.另类.中文.在线.播放| 国产午夜亚洲精品不卡| 成人h精品动漫一区二区三区| 亚洲免费大片在线观看| 欧美色图片你懂的| 奇米综合一区二区三区精品视频| 精品人在线二区三区| 成人激情小说网站| 亚洲一区二区黄色| 日韩一卡二卡三卡| 国产成人鲁色资源国产91色综| 亚洲欧洲99久久| 欧美私模裸体表演在线观看| 老司机午夜精品99久久| 国产午夜三级一区二区三| 色哟哟一区二区在线观看| 天使萌一区二区三区免费观看| 精品电影一区二区| 色综合天天综合在线视频| 五月激情综合婷婷| 国产婷婷一区二区|