⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainwindow.cpp.bak

📁 这是一个自己开发的键盘驱动代码
💻 BAK
字号:
/****************************************************************************** $Id: qt/mainwindow.cpp   3.3.6   edited Aug 31 2005 $**** Copyright (C) 1992-2005 Trolltech AS.  All rights reserved.**** This file is part of an example program for Qt.  This example** program may be used, distributed and modified without limitation.*******************************************************************************/#include "mainwindow.h"#include "qfileiconview.h"#include "../dirview/dirview.h"#include "icons.h"#include <qsplitter.h>#include <qprogressbar.h>#include <qlabel.h>#include <qstatusbar.h>#include <qtoolbar.h>#include <qpixmap.h>#include <qtoolbutton.h>#include <qdir.h>#include <qfileinfo.h>#include <qvaluelist.h> #include <qstringlist.h>#include <qevent.h>#include <qmessagebox.h>#include <stdlib.h>FileMainWindow::FileMainWindow()    : QMainWindow(){    setup();}void FileMainWindow::show(){    QMainWindow::show();}void FileMainWindow::setup(){		usbMounted = false;				autoTimer = new QTimer( this );		autoTime = 1500;		connect( autoTimer, SIGNAL( timeout() ),	     this, SLOT( usbTest() ) );		autoTimer->start( autoTime, true );				    QSplitter *splitter = new QSplitter( this );    dirlist = new DirectoryView( splitter, "dirlist", TRUE );    dirlist->addColumn( "Name" );    dirlist->addColumn( "Type", 70 );    dirlist->setColumnAlignment( 1, AlignRight );    Directory *root = new Directory( dirlist, "/" );    root->setOpen( true );    		QValueList<int> sizeList;		sizeList.append( 130 );		splitter->setSizes( sizeList );    fileview = new QtFileIconView( "/", splitter );        splitter->setResizeMode( dirlist, QSplitter::KeepSize );    splitter->setOrientation( Vertical );        		QToolBar *toolbar2 = new QToolBar( this, "toolbar2" );  		    QPixmap pix;    pix = QPixmap( up_xpm );    upButton = new QToolButton( pix, "Directory up", QString::null,				this, SLOT( cdUp() ), toolbar2, "cd up" );				toolbar2->addSeparator();				pix = QPixmap( copy_xpm );		copyButton = new QToolButton( pix , "Copy", QString::null,				this, SLOT( copy() ), toolbar2, "copy" );		pix = QPixmap( cut_xpm );    cutButton = new QToolButton( pix , "Cut", QString::null,				this, SLOT( cut() ), toolbar2, "cut" );		pix = QPixmap( del_xpm );    delButton = new QToolButton( pix , "Delete", QString::null,				this, SLOT( del() ), toolbar2, "delete" );		pix = QPixmap( paste_xpm );    pasteButton = new QToolButton( pix , "Paste", QString::null,				this, SLOT( paste() ), toolbar2, "paste" );						toolbar2->addSeparator();				    pix = QPixmap( newfolder_xpm );    mkdirButton = new QToolButton( pix, "New Folder", QString::null,				   this, SLOT( newFolder() ), toolbar2, "new folder" );		setCentralWidget( splitter );		    connect( dirlist, SIGNAL( folderSelected( const QString & ) ),	     fileview, SLOT ( setDirectory( const QString & ) ) );	  connect( fileview, SIGNAL( resetListDir( const QString & ) ) ,	  	 this, SLOT( resetListDir( const QString & ) ) );	  connect( fileview, SIGNAL( itemRenamed ( QIconViewItem * ) ),	  	 this, SLOT( itemRenamed( QIconViewItem * ) ) );    connect( fileview, SIGNAL( directoryChanged( const QString & ) ),	     this, SLOT( directoryChanged( const QString & ) ) );    connect( fileview, SIGNAL( startReadDir( int ) ),	     this, SLOT( slotStartReadDir( int ) ) );    connect( fileview, SIGNAL( readNextDir() ),	     this, SLOT( slotReadNextDir() ) );    connect( fileview, SIGNAL( readDirDone() ),	     this, SLOT( slotReadDirDone() ) );    label = new QLabel( statusBar() );    statusBar()->addWidget( label, 2, TRUE );    progress = new QProgressBar( statusBar() );    statusBar()->addWidget( progress, 1, TRUE );        connect( fileview, SIGNAL( enableUp() ),	     this, SLOT( enableUp() ) );    connect( fileview, SIGNAL( disableUp() ),	     this, SLOT( disableUp() ) );    connect( fileview, SIGNAL( enableMkdir() ),	     this, SLOT( enableMkdir() ) );    connect( fileview, SIGNAL( disableMkdir() ),	     this, SLOT( disableMkdir() ) );    connect( fileview, SIGNAL( enablePaste() ),	     this, SLOT( enablePaste() ) );    connect( fileview, SIGNAL( disablePaste() ),	     this, SLOT( disablePaste() ) );}void FileMainWindow::directoryChanged( const QString &dir ){    setCaption( dir );    resetListDir( dir );		if ( dir == "/usr/tam/udisk" ) {			if ( !usbMounted ) {				if ( !system( "mount -t vfat -o rw,user /dev/scsi/host0/bus0/target0/lun0/part1 /usr/tam/udisk" ) ) {					qDebug( "usb mounted" );					usbMounted = true;				} else QMessageBox::information( this, "Message", "No UDisk Found", "ok" );			}		}}void FileMainWindow::slotStartReadDir( int dirs ){    label->setText( tr( " Reading Directory..." ) );    progress->reset();    progress->setTotalSteps( dirs );}void FileMainWindow::slotReadNextDir(){    int p = progress->progress();    progress->setProgress( ++p );}void FileMainWindow::slotReadDirDone(){    label->setText( tr( " Reading Directory Done." ) );    progress->setProgress( progress->totalSteps() );}void FileMainWindow::cdUp(){    QDir dir = fileview->currentDir();    dir.cd( ".." );    fileview->setDirectory( dir );}void FileMainWindow::copy(){	fileview->slotCopy();}void FileMainWindow::paste(){	fileview->slotPaste( fileview->currentDir().absPath() );}void FileMainWindow::cut(){	fileview->slotCut();}void FileMainWindow::del(){		fileview->slotDel();}void FileMainWindow::resetListDir( const QString &dir ){		dirlist->clear();    Directory *root = new Directory( dirlist, "/" );    root->setOpen( true );    dirlist->setDir( dir );}void FileMainWindow::itemRenamed( QIconViewItem *item ){		QDir dir = ( (QtFileIconView*)item->iconView() )->currentDir();		resetListDir( dir.absPath() );}void FileMainWindow::newFolder(){    fileview->newDirectory();}void FileMainWindow::enableUp(){    upButton->setEnabled( TRUE );}void FileMainWindow::disableUp(){    upButton->setEnabled( FALSE );}void FileMainWindow::enableMkdir(){    mkdirButton->setEnabled( TRUE );}void FileMainWindow::disableMkdir(){    mkdirButton->setEnabled( FALSE );}void FileMainWindow::enablePaste(){    pasteButton->setEnabled( TRUE );}void FileMainWindow::disablePaste(){    pasteButton->setEnabled( FALSE );}void FileMainWindow::usbTest(){	system( "ls /dev/scsi/host0/bus0/target0/lun0" );	autoTimer->start( autoTime, true );	}void FileMainWindow::keyPressEvent( QKeyEvent *e ){		if ( e->key() == Key_Asterisk && usbMounted ) {			system( "umount /usr/tam/udisk" );			usbMounted = false;			QMessageBox::information( this, "Message", "UDisk Unmounted", "ok" );			qDebug( "usb unmounted" );		}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -