]> git.nothing2do.fr Git - diary-mobile.git/commitdiff
maxline is now limitating the number of clabel printed on each screen
authorNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Tue, 4 Nov 2014 15:05:49 +0000 (16:05 +0100)
committerNorbert Moutarde <norbert.moutarde@nothing2do.eu>
Tue, 4 Nov 2014 15:05:49 +0000 (16:05 +0100)
mainwindow.cpp
mainwindow.h

index ec3a5778d34a65972a630b641e19ea943a7e52a0..aa8ec4094316ae024306bebd10acac5699174354 100644 (file)
@@ -52,6 +52,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
         conf->setValue(QString("first"), 1);
     };
     deb=0;
+    page=0;
     //currenttype=conf->value(QString("currenttype"), QString("buttons")).toString();
     screen=new QWidget(this);
     screen->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
@@ -149,17 +150,29 @@ void MainWindow::quit(){
     qDebug()<<"quit() way.last()="<<way.last();
     this->~MainWindow();
 }
-const CLabel* MainWindow::addWidget(const QString &key, const CLabel *a){
+int unsigned MainWindow::addWidget(const QString &key, const CLabel *a){
     qDebug()<<"addWidget("<<key<<")";
     if(key.contains(QString("idem"))){
         key.replace(QString("idem"), a->text());
     }
-    int c=grid->count();
-    int maxc=conf->value(QString("maxcolumn")).toInt();
+    int c=grid->count(), maxc=conf->value(QString("maxcolumn")).toInt(), maxl=conf->value(QString("maxline")).toInt();
+    //p*(ml*mc)+c nombre de boutons en tout osef,
+    if(grid->count()==((maxc*maxl)-1)){
+        CLabel next(trUtf8("Next page"), conf, this);
+        addWidget(QString("nextpage"), next);
+        page++;
+        return 1;
+    }
+
+    /*if(c=(maxc*maxl)-1){
+        page++;
+        addWidget(QString("nextpage"), CLabel(trUtf8("Next page")));
+        return page;
+    }*/
     grid->addWidget(a, c/maxc, c%maxc, 1, 1, Qt::AlignJustify| Qt::AlignVCenter | Qt::AlignHCenter);
     QObject::connect(a, SIGNAL(released()), signalmap, SLOT(map()));
     signalmap->setMapping(a, key);
-    return a;
+    return 0;
 }
 void MainWindow::action(const QString &a){
     qDebug()<<"action("<<a<<")";
@@ -476,6 +489,9 @@ void CLabel::mouseReleaseEvent( QMouseEvent * event )
 
     }
 }
+QSettings * CLabel::getSettings(){
+    return settings;
+}
 /*void MainWindow::debug(int col){
     q->first();
     while(q->isValid()){
@@ -638,14 +654,19 @@ void MainWindow::get(const QString & d, const QString &b){
     int actCol = 1;//r.indexOf("action");
     int i=0;
     qDebug()<<"bcl to add buttons";
+    int maxc=conf->value(QString("maxcolumn")).toInt(), maxl=conf->value(QString("maxline")).toInt();
+    if((page)&&(!grid->count())){
+        addWidget(QString("prevpage"), new CLabel(trUtf8("Previous page")));
+    }
+    //grid->count()%(maxl*maxc)!=0) here
     while(q->next()){
-        addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString(), *conf));
+        if(!addWidget(q->value(actCol).toString(), new CLabel(q->value(labCol).toString(), *conf)))break;
         i++;
     };
     grid->update();
     //scroll->updateGeometry();
     screen->updateGeometry();
-    qDebug()<<"end getButtons : "<<i<<" button(s) way.size()"<<way.size();
+    qDebug()<<"end getButtons : "<<i<<" button(s) way.size()"<<way.size()<<" page : "<<page;
 }
 void MainWindow::chooseDB(){
     QString b;
index 0dd7c5797d5488c6bac493a1a83c7e61d3ee2c24..6518b703927b7632bf13660aad87378d635e4956 100644 (file)
@@ -95,12 +95,13 @@ class CLabel : public QLabel
 {
 Q_OBJECT
     QString m_style;
-    QSettings * setting;
+    QSettings * settings;
 
 public:
     explicit CLabel(const QString&, const QSettings &, QWidget * parent = 0 );
     ~CLabel();
     void SetTextToLabel(const QString &);
+    QSettings getSettings();
 signals:
     void clicked();
     void pressed();
@@ -131,7 +132,7 @@ public:
     void setOrientation(ScreenOrientation orientation);
     QSettings & getSettings();
     void showExpanded();
-    const CLabel* addWidget(const QString &, const CLabel *);
+    unsigned int addWidget(const QString &, const CLabel *);
     void resizeEvent(QResizeEvent *);
     void sav(const QString &);
     void mass(const QString &, const QString &, const QString &, const  QString &);