[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kde-workspace/amourphiouskb] kcontrol/keyboard: changes made
From:       shivam makkar <amourphious1992 () gmail ! com>
Date:       2012-09-21 21:10:00
Message-ID: 20120921211000.54305A6096 () git ! kde ! org
[Download RAW message or body]

Git commit 032ecebc1dcdd3d9e538e9365eac89f36d133114 by shivam makkar.
Committed on 21/09/2012 at 20:52.
Pushed by makkar into branch 'amourphiouskb'.

changes made

M  +2    -1    kcontrol/keyboard/CMakeLists.txt
A  +20   -0    kcontrol/keyboard/KeyboardPainter.ui
A  +291  -0    kcontrol/keyboard/kbpreviewframe.cpp     [License: UNKNOWN]  *
A  +23   -0    kcontrol/keyboard/kbpreviewframe.h     [License: UNKNOWN]  *
M  +3    -7    kcontrol/keyboard/kcm_add_layout_dialog.cpp
M  +1    -1    kcontrol/keyboard/kcm_add_layout_dialog.h
M  +1    -1    kcontrol/keyboard/kcm_add_layout_dialog.ui
M  +5    -10   kcontrol/keyboard/kcm_keyboard_widget.cpp
M  +2    -2    kcontrol/keyboard/kcm_keyboard_widget.h
M  +55   -34   kcontrol/keyboard/keyboardlayout.cpp
M  +3    -3    kcontrol/keyboard/keyboardlayout.h
M  +16   -262  kcontrol/keyboard/keyboardpainter.cpp
M  +9    -10   kcontrol/keyboard/keyboardpainter.h
M  +6    -2    kcontrol/keyboard/keys.cpp
M  +12   -7    kcontrol/keyboard/keysym.cpp
M  +2    -2    kcontrol/keyboard/keysym.h

The files marked with a * at the end have a non valid license. Please read: \
http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


http://commits.kde.org/kde-workspace/032ecebc1dcdd3d9e538e9365eac89f36d133114

diff --git a/kcontrol/keyboard/CMakeLists.txt b/kcontrol/keyboard/CMakeLists.txt
index 800a903..653ff6a 100644
--- a/kcontrol/keyboard/CMakeLists.txt
+++ b/kcontrol/keyboard/CMakeLists.txt
@@ -117,10 +117,11 @@ set(kcm_keyboard_PART_SRCS
   keyboardpainter.cpp
   keys.cpp
   keysym.cpp
+  kbpreviewframe.cpp
 )
 
 
-kde4_add_ui_files(kcm_keyboard_PART_SRCS kcm_keyboard.ui kcm_add_layout_dialog.ui kcmmiscwidget.ui \
keyboardpainter.ui) +kde4_add_ui_files(kcm_keyboard_PART_SRCS kcm_keyboard.ui kcm_add_layout_dialog.ui \
kcmmiscwidget.ui KeyboardPainter.ui)  
 kde4_add_plugin(kcm_keyboard ${kcm_keyboard_PART_SRCS})
 
diff --git a/kcontrol/keyboard/KeyboardPainter.ui b/kcontrol/keyboard/KeyboardPainter.ui
new file mode 100644
index 0000000..12de01f
--- /dev/null
+++ b/kcontrol/keyboard/KeyboardPainter.ui
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>keyboardpainter</class>
+ <widget class="QDialog" name="keyboardpainter">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1030</width>
+    <height>510</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>keyboardpainter</string>
+  </property>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/kcontrol/keyboard/kbpreviewframe.cpp b/kcontrol/keyboard/kbpreviewframe.cpp
new file mode 100644
index 0000000..df2b204
--- /dev/null
+++ b/kcontrol/keyboard/kbpreviewframe.cpp
@@ -0,0 +1,291 @@
+#include "kbpreviewframe.h"
+#include<QPainter>
+#include<QFont>
+#include <KApplication>
+#include <KLocale>
+
+
+KbPreviewFrame::KbPreviewFrame(QWidget *parent) :
+    QFrame(parent)
+{
+     setFrameStyle( QFrame::Box );
+     setFrameShadow(QFrame::Sunken);
+}
+
+void KbPreviewFrame::paintEvent(QPaintEvent *){
+    const QString lev12color="#d4d4d4",lev34color="#FF3300";
+
+    QPainter painter(this);
+
+    QFont kbfont;
+    kbfont.setPointSize(12);
+
+    painter.setFont(kbfont);
+    painter.setBrush(QBrush(Qt::darkGray));
+
+    const int strtx=0,strty=0,endx=1390,endy=490;
+
+    painter.drawRect(strtx,strty,endx,endy);
+
+    painter.setPen(QColor(lev12color));
+    painter.setBrush(QBrush(Qt::black));
+
+    int x,y;
+    const int row1x=10,row1y=30;
+    x=row1x;
+    y=row1y;
+
+    const int escsz=50,escx=20,escy=55;
+    painter.drawRect(x,y,escsz,escsz);
+
+    painter.drawText(escx,escy,i18n("ESC"));
+
+    const int spacex=50;
+    x+=spacex;
+
+    const int fnkeyspace=60,fnkeysizex=50,fnkeysizey=50,fkc=15,fkn=25,fky=30,fnkig=4,fng=3;
+    int f=1;
+
+    QString str;
+
+    for(int i=0;i<fng;i++){
+        x+=spacex;
+        for(int j=0;j<fnkig;j++){
+            x+=fnkeyspace;
+            painter.drawRect(x,y,fnkeysizex,fnkeysizey);
+            painter.drawText(x+fkc,y+fky,i18n("F"));
+            painter.drawText(x+fkn,y+fky,str.setNum(f));
+            f++;
+        }
+    }
+
+    const int lv1x=15,lvl2x=40,lvly=10,sz=20;
+    const int kszx=70,kszy=70;
+
+    const int gr1=0,gr2=1,gr3=2,gr4=3;
+
+    const int row2x=10,row2y=90;
+    x=row2x;
+    y=row2y;
+
+
+    painter.drawRect(x,y,kszx,kszy);
+    for(int j=0;j<kblayout.TLDE.klst.size();j++){
+        if(j==gr2)
+            painter.drawText(x+lv1x,y+lvly,sz,sz,Qt::AlignBottom,symbol.getkeyuni(kblayout.TLDE.klst.at(gr2)));
 +        if(j==gr1)
+            painter.drawText(x+lv1x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.TLDE.klst.at(gr1)));
 +        painter.setPen(QColor(lev34color));
+        if(j==gr3)
+            painter.drawText(x+lvl2x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.TLDE.klst.at(gr3)));
 +        if(j==gr4)
+            painter.drawText(x+lvl2x,y+lvly,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.TLDE.klst.at(gr4)));
 +        painter.setPen(QColor(lev12color));
+    }
+
+    const int noAEk=12;
+    for(int i=0;i<noAEk;i++){
+        x+=kszx;
+        painter.drawRect(x,y,kszx,kszy);
+        for(int j=0;j<kblayout.AE[i].klst.size();j++){
+            if(j==gr2)
+                painter.drawText(x+lv1x,y+lvly,sz,sz,Qt::AlignBottom,symbol.getkeyuni(kblayout.AE[i].klst.at(gr2)));
 +            if(j==gr1)
+                painter.drawText(x+lv1x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AE[i].klst.at(gr1)));
 +            painter.setPen(QColor(lev34color));
+            if(j==gr3)
+                painter.drawText(x+lvl2x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AE[i].klst.at(gr3)));
 +            if(j==gr4)
+                painter.drawText(x+lvl2x,y+lvly,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AE[i].klst.at(gr4)));
 +            painter.setPen(QColor(lev12color));
+
+        }
+    }
+    x+=kszx;
+
+    const int bkspszx=100,bk1x=10,bk1y=20,bk2y=60;
+
+    painter.drawRect(x,y,bkspszx,kszy);
+    painter.drawText(x+bk1x,y+bk1y,i18n("<--"));
+    painter.drawText(x+bk1x,y+bk2y,i18n("Backspace"));
+
+
+    const int row3x=10,row3y=170;
+    x=row3x;
+    y=row3y;
+
+
+    const int tabszx=100;
+    const int tab1x=20,tab2x=10,tab1y=25,tab2y=65,tab3y=45;
+
+    painter.drawRect(x,y,tabszx,kszy);
+    painter.drawText(x+tab1x,y+tab1y,i18n("<--"));
+    painter.drawText(x+lv1x,y+tab3y,i18n("TAB"));
+    painter.drawText(x+tab2x,y+tab2y,i18n("-->"));
+    x+=tabszx;
+
+
+    const int noADk=12;
+    for(int i=0;i<noADk;i++){
+        painter.drawRect(x,y,kszx,kszy);
+        for(int j=0;j<kblayout.AD[i].klst.size();j++){
+            if(j==gr2)
+                painter.drawText(x+lv1x,y+lvly,sz,sz,Qt::AlignBottom,symbol.getkeyuni(kblayout.AD[i].klst.at(gr2)));
 +            if(j==gr1)
+                painter.drawText(x+lv1x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AD[i].klst.at(gr1)));
 +            painter.setPen(QColor(lev34color));
+            if(j==gr3)
+                painter.drawText(x+lvl2x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AD[i].klst.at(gr3)));
 +            if(j==gr4)
+                painter.drawText(x+lvl2x,y+lvly,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AD[i].klst.at(gr4)));
 +            painter.setPen(QColor(lev12color));
+        }
+        x+=kszx;
+    }
+
+    const int shifx=10,shify=60;
+    painter.drawRect(x,y,kszx,kszy);
+    painter.drawText(x+sz,y+sz,i18n("|"));
+    painter.drawText(x+sz,y+shify,i18n("\\"));
+
+    const int row4x=10,row4y=250;
+
+    x=row4x;
+    y=row4y;
+
+    const int capszx=100;
+
+    painter.drawRect(x,y,capszx,kszy);
+    painter.drawText(x+shifx,y+sz,i18n("^"));
+    painter.drawText(x+shifx,y+shify,i18n("Caps Lock"));
+    x+=capszx;
+
+    const int noACk=11;
+    for(int i=0;i<noACk;i++){
+        painter.drawRect(x,y,kszx,kszy);
+        for(int j=0;j<kblayout.AC[i].klst.size();j++){
+            if(j==gr2)
+                painter.drawText(x+lv1x,y+lvly,sz,sz,Qt::AlignBottom,symbol.getkeyuni(kblayout.AC[i].klst.at(gr2)));
 +            if(j==gr1)
+                painter.drawText(x+lv1x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AC[i].klst.at(gr1)));
 +            painter.setPen(QColor(lev34color));
+            if(j==gr3)
+                painter.drawText(x+lvl2x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AC[i].klst.at(gr3)));
 +            if(j==gr4)
+                painter.drawText(x+lvl2x,y+lvly,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AC[i].klst.at(gr4)));
 +            painter.setPen(QColor(lev12color));
+        }
+        x+=kszx;
+    }
+
+    const int retsz=140,ret1x=50,ret2x=30,ret1y=38,ret2y=43;
+
+    painter.drawRect(x,y,retsz,kszy);
+    painter.drawText(x+ret1x,y+ret1y,i18n("|"));
+    painter.drawText(x+ret2x,y+ret2y,i18n("<--"));
+    painter.drawText(x+shify,y+lvl2x,i18n("Enter"));
+
+    const int row5x=10,row5y=330;
+
+    x=row5x;
+    y=row5y;
+
+    const int shiftsz=155;
+
+    painter.drawRect(x,y,shiftsz,kszy);
+    painter.drawText(x+shifx,y+shify,i18n("SHIFT"));
+    x+=shiftsz;
+
+    const int noABk=10;
+    for(int i=0;i<noABk;i++){
+        painter.drawRect(x,y,kszx,kszy);
+        for(int j=0;j<kblayout.AB[i].klst.size();j++){
+            if(j==gr2)
+                painter.drawText(x+lv1x,y+lvly,sz,sz,Qt::AlignBottom,symbol.getkeyuni(kblayout.AB[i].klst.at(gr2)));
 +            if(j==gr1)
+                painter.drawText(x+lv1x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AB[i].klst.at(gr1)));
 +            painter.setPen(QColor(lev34color));
+            if(j==gr3)
+                painter.drawText(x+lvl2x,y+lvl2x,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AB[i].klst.at(gr3)));
 +            if(j==gr4)
+                painter.drawText(x+lvl2x,y+lvly,sz,sz,Qt::AlignTop,symbol.getkeyuni(kblayout.AB[i].klst.at(gr4)));
 +            painter.setPen(QColor(lev12color));
+        }
+        x+=kszx;
+    }
+    painter.drawRect(x,y,shiftsz,kszy);
+    painter.drawText(x+shifx,y+shify,i18n("SHIFT"));
+
+    const int row6x=110,row6y=410;
+    const int ctrlsz=100,altsz=100,spsz=400;
+
+    x=row6x;
+    y=row6y;
+
+    const int txtx=30,txty=35;
+
+    painter.drawRect(x,y,ctrlsz,kszy);
+    painter.drawText(x+txtx,y+txty,i18n("Ctrl"));
+
+    x+=ctrlsz;
+
+    painter.drawRect(x,y,altsz,kszy);
+    painter.drawText(x+txtx,y+txty,i18n("Alt"));
+
+    x+=altsz;
+
+    painter.drawRect(x,y,spsz,kszy);
+
+    x+=spsz;
+
+    painter.drawRect(x,y,altsz,kszy);
+    painter.setPen(QColor(lev34color));
+    painter.drawText(x+txtx,y+txty,i18n("AltGr"));
+    painter.setPen(QColor(lev12color));
+
+    x+=ctrlsz;
+
+    painter.drawRect(x,y,ctrlsz,kszy);
+    painter.drawText(x+txtx,y+txty,i18n("Ctrl"));
+
+    if(symbol.nill>=120){
+        painter.drawRect(strtx,strty,endx,endy);
+        const int midx=470,midy=240;
+        painter.drawText(midx,midy,i18n("NO PREVIEW FOUND"));
+    }
+
+}
+
+
+void KbPreviewFrame::getKeyboardLayout(QString country, QString layoutvariant){
+
+    QString filename=kblayout.findSymbolbasedir();
+    filename.append(country);
+
+    QFile file(filename);
+    file.open(QIODevice::ReadOnly | QIODevice::Text);
+    QString content = file.readAll();
+    file.close();
+
+    QList<QString> symstr;
+    symstr=content.split("xkb_symbols ");
+
+    for(int i=0;i<symstr.size();i++){
+        QString h=symstr.at(i);
+        int k=h.indexOf("\"");
+        h=h.mid(k);
+        k=h.indexOf("{");
+        h=h.left(k);
+        h=h.remove(" ");
+        QString f="\"";
+        f.append(layoutvariant);
+        f.append("\"");
+        f=f.remove(" ");
+
+        if(h==f){
+            kblayout.getLayout(symstr.at(i),country);
+            break;
+        }
+    }
+}
+
diff --git a/kcontrol/keyboard/kbpreviewframe.h b/kcontrol/keyboard/kbpreviewframe.h
new file mode 100644
index 0000000..f99e294
--- /dev/null
+++ b/kcontrol/keyboard/kbpreviewframe.h
@@ -0,0 +1,23 @@
+#ifndef KBPREVIEWFRAME_H
+#define KBPREVIEWFRAME_H
+
+#include"keyboardlayout.h"
+#include"keysym.h"
+#include"keyaliases.h"
+#include <QFrame>
+
+class KbPreviewFrame : public QFrame
+{
+    Q_OBJECT
+public:
+    explicit KbPreviewFrame(QWidget *parent = 0);
+    void paintEvent(QPaintEvent *);
+    KeyboardLayout kblayout;
+    KeySym symbol;
+    Aliases alias;
+    void getKeyboardLayout(QString country, QString layoutvariant);
+
+    
+};
+
+#endif // KBPREVIEWFRAME_H 
diff --git a/kcontrol/keyboard/kcm_add_layout_dialog.cpp b/kcontrol/keyboard/kcm_add_layout_dialog.cpp
index 97e2208..95c7b9a 100644
--- a/kcontrol/keyboard/kcm_add_layout_dialog.cpp
+++ b/kcontrol/keyboard/kcm_add_layout_dialog.cpp
@@ -159,13 +159,9 @@ void AddLayoutDialog::preview(){
     QMessageBox q;
     //variant=getvariant(variant);
     /*a.append(selectedLayout);*/
-    q.setText(variant);
-    q.exec();
-    q.setText(selectedLayout);
-    q.exec();
-    layoutprev=new keyboardpainter();
-    variant=layoutprev->getvariant(variant,selectedLayout);
-    layoutprev->getkeyboardlayout(selectedLayout,variant);
+    layoutprev=new KeyboardPainter();
+    variant=layoutprev->getVariant(variant,selectedLayout);
+    layoutprev->kbframe->getKeyboardLayout(selectedLayout,variant);
     layoutprev->exec();
     layoutprev->setModal(true);
 }
diff --git a/kcontrol/keyboard/kcm_add_layout_dialog.h b/kcontrol/keyboard/kcm_add_layout_dialog.h
index bab63be..0c9f6d3 100644
--- a/kcontrol/keyboard/kcm_add_layout_dialog.h
+++ b/kcontrol/keyboard/kcm_add_layout_dialog.h
@@ -49,7 +49,7 @@ private:
 	const Rules* rules;
 	Flags* flags;
 	Ui_AddLayoutDialog* layoutDialogUi;
-	keyboardpainter *layoutprev;
+	KeyboardPainter *layoutprev;
 	QString selectedLanguage;
 	QString selectedLayout;
 	LayoutUnit selectedLayoutUnit;
diff --git a/kcontrol/keyboard/kcm_add_layout_dialog.ui b/kcontrol/keyboard/kcm_add_layout_dialog.ui
index cc073d7..1bb3ed8 100644
--- a/kcontrol/keyboard/kcm_add_layout_dialog.ui
+++ b/kcontrol/keyboard/kcm_add_layout_dialog.ui
@@ -98,7 +98,7 @@
    <item row="7" column="0">
     <widget class="QPushButton" name="prevbutton">
      <property name="text">
-      <string>PREVIIEW</string>
+      <string>PREVIEW</string>
      </property>
     </widget>
    </item>
diff --git a/kcontrol/keyboard/kcm_keyboard_widget.cpp b/kcontrol/keyboard/kcm_keyboard_widget.cpp
index 5fb4ee3..894cbf1 100644
--- a/kcontrol/keyboard/kcm_keyboard_widget.cpp
+++ b/kcontrol/keyboard/kcm_keyboard_widget.cpp
@@ -336,7 +336,7 @@ void KCMKeyboardWidget::initializeLayoutsUI()
 	connect(uiWidget->moveUpBtn, SIGNAL(clicked(bool)), this, SLOT(moveUp()));
 	connect(uiWidget->moveDownBtn, SIGNAL(clicked(bool)), this, SLOT(moveDown()));
 
-    connect(uiWidget->previewbutton,SIGNAL(clicked(bool)),this,SLOT(previewlayout()));
+    connect(uiWidget->previewbutton,SIGNAL(clicked(bool)),this,SLOT(previewLayout()));
 
 	connect(uiWidget->xkbGrpClearBtn, SIGNAL(clicked(bool)), this, SLOT(clearGroupShortcuts()));
 	connect(uiWidget->xkb3rdLevelClearBtn, SIGNAL(clicked(bool)), this, SLOT(clear3rdLevelShortcuts()));
@@ -363,30 +363,25 @@ void KCMKeyboardWidget::initializeLayoutsUI()
 	connect(uiWidget->layoutLoopCountSpinBox, SIGNAL(valueChanged(int)), this, SLOT(uiChanged()));
 }
 
-void KCMKeyboardWidget::previewlayout(){
+void KCMKeyboardWidget::previewLayout(){
     QModelIndex index = uiWidget->layoutsTableView->currentIndex() ;
     QModelIndex idcountry = index.sibling(index.row(),0) ;
     QString country=uiWidget->layoutsTableView->model()->data(idcountry).toString();
     QModelIndex idvariant = index.sibling(index.row(),2) ;
     QString variant=uiWidget->layoutsTableView->model()->data(idvariant).toString();
-    QMessageBox q;
-    q.setText(country);
-    q.exec();
-    layoutprev=new keyboardpainter();
+    layoutprev=new KeyboardPainter();
     if(variant=="")
-    variant=layoutprev->getvariant(variant,country);
+    variant=layoutprev->getVariant(variant,country);
     else{
         const LayoutInfo* layoutInfo = rules->getLayoutInfo(country);
         foreach(const VariantInfo* variantInfo, layoutInfo->variantInfos) {
             if(variant==variantInfo->description){
-                q.setText(variant);
-                q.exec();
                 variant=variantInfo->name;
                 break;
             }
         }
     }
-    layoutprev->getkeyboardlayout(country,variant);
+    layoutprev->kbframe->getKeyboardLayout(country,variant);
     layoutprev->exec();
     layoutprev->setModal(true);
 
diff --git a/kcontrol/keyboard/kcm_keyboard_widget.h b/kcontrol/keyboard/kcm_keyboard_widget.h
index dae0721..b74b3a1 100644
--- a/kcontrol/keyboard/kcm_keyboard_widget.h
+++ b/kcontrol/keyboard/kcm_keyboard_widget.h
@@ -69,7 +69,7 @@ private Q_SLOTS:
     void moveDown();
     void configureLayoutsChanged();
     void configureXkbOptionsChanged();
-    void previewlayout();
+    void previewLayout();
 
 private:
     Rules *rules;
@@ -81,7 +81,7 @@ private:
 	LayoutsTableModel* layoutsTableModel;
 	KCMiscKeyboardWidget* kcmMiscWidget;
 	bool uiUpdating;
-	keyboardpainter *layoutprev;
+	KeyboardPainter *layoutprev;
 
 	void initializeLayoutsUI();
 	void initializeXkbOptionsUI();
diff --git a/kcontrol/keyboard/keyboardlayout.cpp b/kcontrol/keyboard/keyboardlayout.cpp
index 6c2220a..cf367c3 100644
--- a/kcontrol/keyboard/keyboardlayout.cpp
+++ b/kcontrol/keyboard/keyboardlayout.cpp
@@ -14,58 +14,51 @@
 #include<QDir>
 
 
-Keyboardlayout::Keyboardlayout()
+KeyboardLayout::KeyboardLayout()
 {
 }
-void Keyboardlayout::getLayout(QString a,QString cname){
+void KeyboardLayout::getLayout(QString a,QString cname){
     includeSymbol(a,cname);
     int i=a.indexOf("name[Group1]=");
     i+=13;
-
     QString n=a.mid(i);
     n=n.simplified();
     i=n.indexOf("\"",1);
-
     Layoutname=n.left(i);
     Layoutname.remove("\"");
     Layoutname.simplified();
-
     i=n.indexOf("key");
     n=n.mid(i);
     QList<QString> st;
     st=n.split("key");
-
     Keys dum;
-
-    QString r;
-
+    QString r,y;
     for(int k=0;k<st.size();k++){
         dum.getKey(st.at(k));
-
         if(dum.keyname.startsWith("Lat"))
             dum.keyname=alias.getAlias(cname,dum.keyname);
-
+        if(dum.keyname=="TLDE"){
+            r=st.at(k);
+            TLDE.getKey(r);
+        }
         if(dum.keyname.contains("AE")){
             QString ind=dum.keyname.right(2);
             int index=ind.toInt();
             r=st.at(k);
             AE[index-1].getKey(r);
         }
-
         if(dum.keyname.contains("AD")){
             QString ind=dum.keyname.right(2);
             int index=ind.toInt();
             r=st.at(k);
             AD[index-1].getKey(r);
         }
-
         if(dum.keyname.contains("AC")){
             QString ind=dum.keyname.right(2);
             int index=ind.toInt();
             r=st.at(k);
             AC[index-1].getKey(r);
         }
-
         if(dum.keyname.contains("AB")){
             QString ind=dum.keyname.right(2);
             int index=ind.toInt();
@@ -73,65 +66,93 @@ void Keyboardlayout::getLayout(QString a,QString cname){
             AB[index-1].getKey(r);
         }
     }
+    /*QString e;
+    e=Layoutname;
+    for(int l=0;l<12;l++){
+        e.append(AE[l].keyname);
+        for(int u=0;u<AE[l].klst.size();u++){
+            e.append(AE[l].klst.at(u));
+        }
+        e.append("\n");
+    }
+    for(int l=0;l<12;l++){
+        e.append(AD[l].keyname);
+        for(int u=0;u<AD[l].klst.size();u++){
+            e.append(AD[l].klst.at(u));
+        }
+        e.append("\n");
+    }
+    for(int l=0;l<11;l++){
+        e.append(AC[l].keyname);
+        for(int u=0;u<AC[l].klst.size();u++){
+            e.append(AC[l].klst.at(u));
+        }
+        e.append("\n");
+    }
+    for(int l=0;l<10;l++){
+        e.append(AB[l].keyname);
+        for(int u=0;u<AB[l].klst.size();u++){
+            e.append(AB[l].klst.at(u));
+        }
+        e.append("\n");
+    }
+    QMessageBox q;
+    q.setText(e);
+    q.exec();*/
 }
-void Keyboardlayout::includeSymbol(QString a,QString cname){
+void KeyboardLayout::includeSymbol(QString a,QString cname){
     int k=a.indexOf("include");
     a=a.mid(k);
-
+    /*QMessageBox x;
+    x.setText(a);
+    x.exec();*/
     QList<QString>tobeinclude;
     tobeinclude=a.split("include");
-
+    //QMessageBox s;
     QString r;
-
     for(int o=1;o<tobeinclude.size();o++){
         QString d=tobeinclude.at(o);
         d.simplified();
-
+    //s.setText(d);
+    //s.exec();
         int k=d.indexOf("\"",2);
-
-
+    //s.setText(r.setNum(k));
+    //s.exec();
         QString incsym=d.left(k);
         incsym.remove(" ");
         incsym.remove("\"");
-
+        //QMessageBox q;
         QList<QString> incfile;
         incfile=incsym.split("(");
-
         for(int i=0;i<incfile.size();i++){
                 QString z=incfile.at(i);
                 z.remove(" ");
             incfile[i]=z;
         }
-
         if(incfile.size()==1)
             incfile<<"basic";
-
         else{
             QString ns=incfile.at(1);
             ns.remove(")");
             incfile[1]=ns;
         }
-
         r=incfile.at(0);
         r.append(incfile.at(1));
-
+    //q.setText(r);
+    //q.exec();
         QString filename=findSymbolbasedir();
         filename.append(incfile.at(0));
-
-
+    //q.setText(filename);
+    //q.exec();
         QFile file(filename);
         file.open(QIODevice::ReadOnly | QIODevice::Text);
         QString content = file.readAll();
-
         QList<QString> symstrlist;
         symstrlist=content.split("xkb_symbols ");
-
         for(int u=1;u<symstrlist.size();u++){
             QString cur=symstrlist.at(u);
             int pos = cur.indexOf("{");
-
             cur=cur.left(pos);
-
             if(cur.contains(incfile.at(1))){
                 getLayout(symstrlist.at(u),cname);
                 break;
@@ -140,7 +161,7 @@ void Keyboardlayout::includeSymbol(QString a,QString cname){
     }
 }
 
-QString Keyboardlayout::findSymbolbasedir(){
+QString KeyboardLayout::findSymbolbasedir(){
 
     QString symBasedir;
     QString xkbParentDir;
diff --git a/kcontrol/keyboard/keyboardlayout.h b/kcontrol/keyboard/keyboardlayout.h
index eb1fded..615bccc 100644
--- a/kcontrol/keyboard/keyboardlayout.h
+++ b/kcontrol/keyboard/keyboardlayout.h
@@ -3,17 +3,17 @@
 #include"keys.h"
 #include"keyaliases.h"
 #include<QApplication>
-class Keyboardlayout
+class KeyboardLayout
 {
 public:
-    Keyboardlayout();
+    KeyboardLayout();
     QString Layoutname;
     Aliases alias;
+    Keys TLDE;
     Keys AE[12];
     Keys AD[12];
     Keys AC[11];
     Keys AB[11];
-    
     void getLayout(QString a,QString cname);
     QString findSymbolbasedir();
     void includeSymbol(QString a,QString cname);
diff --git a/kcontrol/keyboard/keyboardpainter.cpp b/kcontrol/keyboard/keyboardpainter.cpp
index 77ad419..3884db9 100644
--- a/kcontrol/keyboard/keyboardpainter.cpp
+++ b/kcontrol/keyboard/keyboardpainter.cpp
@@ -1,277 +1,31 @@
 #include "keyboardpainter.h"
 #include "ui_keyboardpainter.h"
+#include<QHBoxLayout>
+#include<QVBoxLayout>
 
-
-keyboardpainter::keyboardpainter(QWidget *parent) :
-    QDialog(parent),
+KeyboardPainter::KeyboardPainter() :
+    kbframe(new KbPreviewFrame(this)),
+    exitButton(new QPushButton(tr("CLOSE"),this)),
     ui(new Ui::keyboardpainter)
 {
     ui->setupUi(this);
+    kbframe->setFixedSize( 1030, 490 );
+    exitButton->setFixedSize(120,30);
+    connect(exitButton,SIGNAL(clicked()),this,SLOT(close()));
+    QVBoxLayout*const vLayout = new QVBoxLayout( this );
+    vLayout->addWidget(kbframe);
+    vLayout->addWidget(exitButton);
+    setWindowTitle(kbframe->kblayout.Layoutname);
 }
 
-keyboardpainter::~keyboardpainter()
+KeyboardPainter::~KeyboardPainter()
 {
     delete ui;
+    delete kbframe;
+    delete exitButton;
 }
 
-
-void keyboardpainter::paintEvent(QPaintEvent *){
-
-
-    const QString lev12color="#d4d4d4",lev34color="#FF3300";
-
-    setWindowTitle(kblayout.Layoutname);
-
-    QPainter painter(this);
-
-    QFont kbfont("Ubuntu",12);
-
-    painter.setFont(kbfont);
-    painter.setBrush(QBrush(Qt::darkGray));
-
-    painter.drawRect(0,20,1030,490);
-
-    painter.setPen(QColor(lev12color));
-    painter.setBrush(QBrush(Qt::black));
-
-    int x,y;
-    const int row1x=10,row1y=30;
-    x=row1x;
-    y=row1y;
-
-    const int escsz=50;
-    painter.drawRect(x,y,escsz,escsz);
-    painter.drawText(20,55,"ESC");
-
-    const int spacex=50;
-    x+=spacex;
-
-    const int fnkeyspace=60,fnkeysizex=50,fnkeysizey=50;
-    int f=1;
-
-    QString str;
-
-    for(int i=0;i<3;i++){
-        x+=spacex;
-        for(int j=0;j<4;j++){
-            x+=fnkeyspace;
-            painter.drawRect(x,y,fnkeysizex,fnkeysizey);
-            painter.drawText(x+15,y+30,"F");
-            painter.drawText(x+20,y+30,str.setNum(f));
-            f++;
-        }
-    }
-
-
-    const int kszx=70,kszy=70;
-
-    const int row2x=10,row2y=90;
-    x=row2x;
-    y=row2y;
-
-
-    painter.drawRect(x,y,kszx,kszy);
-    painter.drawText(x+5,y+20,"~");
-    painter.drawText(x+5,y+60,"`");
-
-    for(int i=0;i<12;i++){
-        x+=kszx;
-        painter.drawRect(x,y,kszx,kszy);
-        for(int j=0;j<kblayout.AE[i].klst.size();j++){
-            if(j==1)
-                painter.drawText(x+15,y+10,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AE[i].klst.at(1)));
                
-            if(j==0)
-                painter.drawText(x+15,y+40,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AE[i].klst.at(0)));
                
-            painter.setPen(QColor(lev34color));
-            if(j==2)
-                painter.drawText(x+40,y+40,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AE[i].klst.at(2)));
                
-            if(j==3)
-                painter.drawText(x+40,y+25,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AE[i].klst.at(3)));
                
-            painter.setPen(QColor(lev12color));
-        }
-    }
-    x+=kszx;
-
-    const int bkspszx=100;
-
-    painter.drawRect(x,y,bkspszx,kszy);
-    painter.drawText(x+10,y+20,"<--");
-    painter.drawText(x+10,y+60,"Backspace");
-
-
-    const int row3x=10,row3y=170;
-    x=row3x;
-    y=row3y;
-
-
-    const int tabszx=100;
-
-    painter.drawRect(x,y,tabszx,kszy);
-    painter.drawText(x+20,y+25,"<--");
-    painter.drawText(x+15,y+35,"-->");
-    painter.drawText(x+10,y+60,"TAB");
-    x+=tabszx;
-
-    for(int i=0;i<12;i++){
-        painter.drawRect(x,y,kszx,kszy);
-        for(int j=0;j<kblayout.AD[i].klst.size();j++){
-            if(j==1)
-                painter.drawText(x+15,y+10,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AD[i].klst.at(1)));
                
-            if(j==0)
-                painter.drawText(x+15,y+40,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AD[i].klst.at(0)));
                
-            painter.setPen(QColor(lev34color));
-            if(j==2)
-                painter.drawText(x+40,y+40,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AD[i].klst.at(2)));
                
-            if(j==3)
-                painter.drawText(x+40,y+25,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AD[i].klst.at(3)));
                
-            painter.setPen(QColor(lev12color));
-        }
-        x+=kszx;
-    }
-
-    painter.drawRect(x,y,kszx,kszy);
-    painter.drawText(x+20,y+20,"|");
-    painter.drawText(x+20,y+60,"\\");
-
-    const int row4x=10,row4y=250;
-
-    x=row4x;
-    y=row4y;
-
-    const int capszx=100;
-
-    painter.drawRect(x,y,capszx,kszy);
-    painter.drawText(x+10,y+20,"^");
-    painter.drawText(x+10,y+60,"Caps Lock");
-    x+=capszx;
-
-    for(int i=0;i<11;i++){
-        painter.drawRect(x,y,kszx,kszy);
-        for(int j=0;j<kblayout.AC[i].klst.size();j++){
-            if(j==1)
-                painter.drawText(x+15,y+10,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AC[i].klst.at(1)));
                
-            if(j==0)
-                painter.drawText(x+15,y+40,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AC[i].klst.at(0)));
                
-            painter.setPen(QColor(lev34color));
-            if(j==2)
-                painter.drawText(x+40,y+40,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AC[i].klst.at(2)));
                
-            if(j==3)
-                painter.drawText(x+40,y+25,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AC[i].klst.at(3)));
                
-            painter.setPen(QColor(lev12color));
-        }
-        x+=kszx;
-    }
-
-    const int retsz=140;
-
-    painter.drawRect(x,y,retsz,kszy);
-    painter.drawText(x+90,y+20,"|");
-    painter.drawText(x+75,y+25,"<--");
-    painter.drawText(x+10,y+60,"Enter");
-
-    const int row5x=10,row5y=330;
-
-    x=row5x;
-    y=row5y;
-
-    const int shiftsz=155;
-
-    painter.drawRect(x,y,shiftsz,kszy);
-    painter.drawText(x+10,y+60,"SHIFT");
-    x+=shiftsz;
-
-    for(int i=0;i<10;i++){
-        painter.drawRect(x,y,kszx,kszy);
-        for(int j=0;j<kblayout.AB[i].klst.size();j++){
-            if(j==1)
-                painter.drawText(x+15,y+10,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AB[i].klst.at(1)));
                
-            if(j==0)
-                painter.drawText(x+15,y+40,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AB[i].klst.at(0)));
                
-            painter.setPen(QColor(lev34color));
-            if(j==2)
-                painter.drawText(x+40,y+40,20,20,Qt::AlignBottom,symbol.getkeyuni(kblayout.AB[i].klst.at(2)));
                
-            if(j==3)
-                painter.drawText(x+40,y+25,20,20,Qt::AlignTop,symbol.getkeyuni(kblayout.AB[i].klst.at(3)));
                
-            painter.setPen(QColor(lev12color));
-        }
-        x+=kszx;
-    }
-    painter.drawRect(x,y,shiftsz,kszy);
-    painter.drawText(x+10,y+60,"SHIFT");
-
-    const int row6x=110,row6y=410;
-    const int ctrlsz=100,altsz=100,spsz=400;
-
-    x=row6x;
-    y=row6y;
-
-    painter.drawRect(x,y,ctrlsz,kszy);
-    painter.drawText(x+30,y+35,"Ctrl");
-
-    x+=ctrlsz;
-
-    painter.drawRect(x,y,altsz,kszy);
-    painter.drawText(x+30,y+35,"Alt");
-
-    x+=altsz;
-
-    painter.drawRect(x,y,spsz,kszy);
-
-    x+=spsz;
-
-    painter.drawRect(x,y,altsz,kszy);
-    painter.setPen(QColor(lev34color));
-    painter.drawText(x+30,y+35,"AltGr");
-    painter.setPen(QColor(lev12color));
-
-    x+=ctrlsz;
-
-    painter.drawRect(x,y,ctrlsz,kszy);
-    painter.drawText(x+30,y+35,"Ctrl");
-
-    if(symbol.nill>=120){
-        painter.drawRect(0,0,1030,490);
-        painter.drawText(470,240,"NO PREVIEW FOUND");
-    }
-
-
-}
-
-
-
-void keyboardpainter::getkeyboardlayout(QString country, QString layoutvariant){
-
-    QString filename=kblayout.findSymbolbasedir();
-    filename.append(country);
-
-    QFile file(filename);
-    file.open(QIODevice::ReadOnly | QIODevice::Text);
-    QString content = file.readAll();
-    file.close();
-
-    QList<QString> symstr;
-    symstr=content.split("xkb_symbols ");
-
-    for(int i=0;i<symstr.size();i++){
-        QString h=symstr.at(i);
-        int k=h.indexOf("\"");
-        h=h.mid(k);
-        k=h.indexOf("{");
-        h=h.left(k);
-        h=h.remove(" ");
-        QString f="\"";
-        f.append(layoutvariant);
-        f.append("\"");
-        f=f.remove(" ");
-
-        if(h==f){
-            kblayout.getLayout(symstr.at(i),country);
-            break;
-        }
-    }
-}
-
-QString keyboardpainter::getvariant(QString variant,QString selectedLayout){
+QString KeyboardPainter::getVariant(QString variant,QString selectedLayout){
     if (variant==""){
         variant="basic";
         if(selectedLayout=="ma")
diff --git a/kcontrol/keyboard/keyboardpainter.h b/kcontrol/keyboard/keyboardpainter.h
index 27886e0..b8c51f4 100644
--- a/kcontrol/keyboard/keyboardpainter.h
+++ b/kcontrol/keyboard/keyboardpainter.h
@@ -2,25 +2,24 @@
 #define KEYBOARDPAINTER_H
 
 #include <QDialog>
-#include"keyboardlayout.h"
-#include"keysym.h"
+#include<QPushButton>
+
+#include"kbpreviewframe.h"
 
 namespace Ui {
 class keyboardpainter;
 }
 
-class keyboardpainter : public QDialog
+class KeyboardPainter : public QDialog
 {
     Q_OBJECT
     
 public:
-    explicit keyboardpainter(QWidget *parent = 0);
-    void paintEvent(QPaintEvent *);
-    Keyboardlayout kblayout;
-    Keysym symbol;
-    QString getvariant(QString variant,QString selectedLayout);
-    void getkeyboardlayout(QString County,QString layoutvariant);
-    ~keyboardpainter();
+    explicit KeyboardPainter();
+    KbPreviewFrame *kbframe;
+    QPushButton *exitButton;
+    QString getVariant(QString variant,QString selectedLayout);
+    ~KeyboardPainter();
     
 private:
     Ui::keyboardpainter *ui;
diff --git a/kcontrol/keyboard/keys.cpp b/kcontrol/keyboard/keys.cpp
index 63cda62..7bd5d7d 100644
--- a/kcontrol/keyboard/keys.cpp
+++ b/kcontrol/keyboard/keys.cpp
@@ -15,7 +15,11 @@ void Keys::getKey(QString a){
     i=str.indexOf("]");
     QString st=str.left(i);
     st=st.simplified();
+    //QStringList klst;
     klst=st.split(",");
-    for(int k=0;k<klst.size();k++)
-        klst[k]=klst.at(k).simplified();
+    for(int k=0;k<klst.size();k++){
+        QString du=klst.at(k);
+        du.remove(" ");
+        klst[k]=du;
+    }
 }
diff --git a/kcontrol/keyboard/keysym.cpp b/kcontrol/keyboard/keysym.cpp
index 12b6830..6918d0e 100644
--- a/kcontrol/keyboard/keysym.cpp
+++ b/kcontrol/keyboard/keysym.cpp
@@ -1,13 +1,13 @@
 #include "keysym.h"
 #include<QMessageBox>
 #include<QChar>
-Keysym::Keysym()
+KeySym::KeySym()
 {
     nill=0;
 }
-QString Keysym::getkeyuni(QString opton){
+QString KeySym::getkeyuni(QString opton){
     QString a;
-    for(int i=0;i<8289;i++){
+    for(int i=0;i<8291;i++){
         if(keystr[i]==opton){
             a=QString(keyuni[i]);
             return a;
@@ -17,7 +17,7 @@ QString Keysym::getkeyuni(QString opton){
     return(" ");
 }
 
-QString Keysym::keystr[]={
+QString KeySym::keystr[]={
     "0",
     "1",
     "2",
@@ -8306,9 +8306,12 @@ QString Keysym::keystr[]={
     "0x1000E2C",
     "0x1000E1D",
     "0x1000E26",
-    "0x1000309"
+    "0x1000309",
+    "U2019",
+    "U0301"
+
                           };
-QChar Keysym::keyuni[]={
+QChar KeySym::keyuni[]={
     0x30,
     0x31,
     0x32,
@@ -16599,5 +16602,7 @@ QChar Keysym::keyuni[]={
     0x1000E2C,
     0x1000E1D,
     0x1000E26,
-    0x1000309
+    0x1000309,
+    '\'',
+    '~'
                   };
diff --git a/kcontrol/keyboard/keysym.h b/kcontrol/keyboard/keysym.h
index 4ac4a23..9bd2faf 100644
--- a/kcontrol/keyboard/keysym.h
+++ b/kcontrol/keyboard/keysym.h
@@ -3,10 +3,10 @@
 #include<QtGui>
 #include<QChar>
 #include<QString>
-class Keysym
+class KeySym
 {
 public:
-    Keysym();
+    KeySym();
     int nill;
     static QString keystr[];
     static QChar keyuni[];


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic