[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdesdk/kompare/komparenavtreepart
From: Andi Fischer <andi.fischer () hispeed ! ch>
Date: 2008-04-30 21:03:43
Message-ID: 1209589423.958318.15199.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 802844 by fischer:
Selecting file icon by extension.
M +83 -5 komparenavtreepart.cpp
M +3 -0 komparenavtreepart.h
--- trunk/KDE/kdesdk/kompare/komparenavtreepart/komparenavtreepart.cpp #802843:802844
@@ -403,7 +403,7 @@
{
Q3PtrDictIterator<KChangeLVI> it( m_diffToChangeItemDict );
- kDebug() << "m_diffToChangeItemDict.count() = " << m_diffToChangeItemDict.count() << endl;
+ kDebug(8105) << "m_diffToChangeItemDict.count() = " << m_diffToChangeItemDict.count() << endl;
for ( ; it.current(); ++it )
{
@@ -495,13 +495,91 @@
{
m_model = model;
- setText( 0, model->sourceFile() );
- setText( 1, model->destinationFile() );
- setPixmap( 0, SmallIcon( "txt" ) );
- setPixmap( 1, SmallIcon( "txt" ) );
+ QString src = model->sourceFile();
+ QString dst = model->destinationFile();
+
+ setText( 0, src );
+ setText( 1, dst );
+ setPixmap( 0, SmallIcon( getIcon( src ) ) );
+ setPixmap( 1, SmallIcon( getIcon( dst ) ) );
setSelectable( true );
}
+bool KFileLVI::hasExtension(const QString& extensions, const QString& fileName)
+{
+ QStringList extList = extensions.split(' ');
+ foreach (QString ext, extList) {
+ if ( fileName.endsWith(ext, Qt::CaseInsensitive) ) {
+ return true;
+ }
+ }
+ return false;
+}
+
+const QString KFileLVI::getIcon(const QString& fileName)
+{
+ // C++, C
+ if ( hasExtension( ".h .hpp", fileName ) ) {
+ return "text-x-c++hdr";
+ }
+ if ( hasExtension( ".cpp", fileName ) ) {
+ return "text-x-c++src";
+ }
+ if ( hasExtension( ".c", fileName ) ) {
+ return "text-x-csrc";
+ }
+ // Python
+ if ( hasExtension( ".py .pyw", fileName ) ) {
+ return "text-x-python";
+ }
+ // C#
+ if ( hasExtension( ".cs", fileName ) ) {
+ return "text-x-csharp";
+ }
+ // Objective-C
+ if ( hasExtension( ".m", fileName ) ) {
+ return "text-x-objcsrc";
+ }
+ // Java
+ if ( hasExtension( ".java", fileName ) ) {
+ return "text-x-java";
+ }
+ // Script
+ if ( hasExtension( ".sh", fileName ) ) {
+ return "text-x-script";
+ }
+ // Makefile
+ if ( hasExtension( ".cmake Makefile", fileName ) ) {
+ return "text-x-makefile";
+ }
+ // Ada
+ if ( hasExtension( ".ada .ads .adb", fileName ) ) {
+ return "text-x-adasrc";
+ }
+ // Pascal
+ if ( hasExtension( ".pas", fileName ) ) {
+ return "text-x-pascal";
+ }
+ // Patch
+ if ( hasExtension( ".diff", fileName ) ) {
+ return "text-x-patch";
+ }
+ // Tcl
+ if ( hasExtension( ".tcl", fileName ) ) {
+ return "text-x-tcl";
+ }
+ // Text
+ if ( hasExtension( ".txt", fileName ) ) {
+ return "text-plain";
+ }
+ // Xml
+ if ( hasExtension( ".xml", fileName ) ) {
+ return "text-xml";
+ }
+ // unknown or no file extension
+ return "text-plain";
+}
+
void KFileLVI::fillChangesList( K3ListView* changesList, Q3PtrDict<KChangeLVI>* diffToChangeItemDict )
{
changesList->clear();
--- trunk/KDE/kdesdk/kompare/komparenavtreepart/komparenavtreepart.h #802843:802844
@@ -149,6 +149,9 @@
Diff2::DiffModel* model() { return m_model; };
void fillChangesList( K3ListView* changesList, Q3PtrDict<KChangeLVI>* diffToChangeItemDict );
private:
+ bool hasExtension(const QString& extensions, const QString& fileName);
+ const QString getIcon(const QString& fileName);
+private:
Diff2::DiffModel* m_model;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic