[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