[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#593610: marked as done (remove qorganizer from testing)



Your message dated Tue, 24 Aug 2010 20:07:46 +0200
with message-id <20100824180746.GE3166@radis.liafa.jussieu.fr>
and subject line Re: Bug#593610: release.debian.org: freeze exception pre-approval: qorganizer
has caused the Debian Bug report #593610,
regarding remove qorganizer from testing
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
593610: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=593610
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal

Hello,

Today I received a mail from qorganizer's upstream author:

->8-
[...]
I found a very critical compatibility issue in qOrganizer 3.1-4. It
doesn't work well with Qt 4.6. I have issued a bugfix release.
[...]
Whenever used with the latest version of Qt some items (event titles)
from the Schedule will randomly disappear.  Without warning, causing the
user to loose data. [...]
-8<-

Qorganizer has priority 'optional' and losing data sounds like important
bug for me. Can I upload new upstream patch release 3.1.5 (current is
3.1.4)?

Upstream diffstat (excluding whitespace changes and stripping binaries
from tarball that are rebuilt anyway) attached.


P.S. Thanks for your hard work in preparing Squeeze release!

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -urN -b /tmp/tardiffdir1/qOrganizer-v3.1-4/CHANGELOG.txt /tmp/tardiffdir2/qOrganizer-v3.1-5/CHANGELOG.txt
--- /tmp/tardiffdir1/qOrganizer-v3.1-4/CHANGELOG.txt	2008-09-07 13:33:54.000000000 +0300
+++ /tmp/tardiffdir2/qOrganizer-v3.1-5/CHANGELOG.txt	2010-08-19 13:05:28.000000000 +0300
@@ -1,3 +1,7 @@
+v3.1 Update 5:
+-Fixed critical compatibility issue with Qt 4.6
+-Fixed compile error under Qt 4.6
+
 v3.1 Update 4:
  -Added Polish translation thanks to Dariusz Gadomski
  -Fixed a bug that caused memory problems and crashes on 64 bit systems
Binary files /tmp/tardiffdir1/qOrganizer-v3.1-4/qOrganizer and /tmp/tardiffdir2/qOrganizer-v3.1-5/qOrganizer differ
diff -urN -b /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qcalendar.cpp /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qcalendar.cpp
--- /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qcalendar.cpp	1970-01-01 02:00:00.000000000 +0200
+++ /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qcalendar.cpp	2010-02-13 02:26:51.000000000 +0200
@@ -0,0 +1,40 @@
+#include "qcalendar.h"
+
+QCalendar :: QCalendar()
+{
+
+}
+
+
+void QCalendar :: addColoredDate(int year,int month, int day)
+{
+    QDate sdate(year,month,day);
+    dateSet.insert(sdate);
+}
+
+
+void QCalendar :: removeColoredDate(int year,int month, int day)
+{
+    QDate sdate(year,month,day);
+    dateSet.remove(sdate);
+}
+
+
+void QCalendar :: paintCell(QPainter *painter, const QRect &rect, const QDate &date) const
+{
+    if((dateSet.contains(date)) && (date != selectedDate())) {
+        painter->fillRect(rect, Qt::red);
+        painter->save();
+        painter->setPen(Qt::white);
+        painter->drawText(rect, Qt::AlignCenter, QString::number(date.day()));
+        painter->restore();
+    }
+    else
+        QCalendarWidget :: paintCell(painter,rect,date);
+}
+
+
+QCalendar :: ~QCalendar()
+{
+
+}
diff -urN -b /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qcalendar.h /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qcalendar.h
--- /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qcalendar.h	1970-01-01 02:00:00.000000000 +0200
+++ /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qcalendar.h	2010-02-13 02:26:51.000000000 +0200
@@ -0,0 +1,35 @@
+#ifndef QCALENDAR_H
+#define QCALENDAR_H
+
+#include <QCalendarWidget>
+#include <QPainter>
+#include <QDate>
+#include <QColor>
+#include <QSet>
+
+
+inline uint qHash(const QDate &d)
+    {
+                return d.year()+d.month()+d.day();
+    }
+
+
+class QCalendar : public QCalendarWidget
+{
+public:
+    QCalendar();
+    ~QCalendar();
+
+   void addColoredDate(int year,int month, int day);
+   void removeColoredDate(int year,int month,int day);
+
+
+ protected:
+   QSet<QDate> dateSet;
+
+ private:
+    virtual void paintCell(QPainter *painter, const QRect &rect, const QDate &date) const;
+
+};
+
+#endif // QCALENDAR_H
diff -urN -b /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qorganizer.cpp /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qorganizer.cpp
--- /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qorganizer.cpp	2008-09-07 11:02:49.000000000 +0300
+++ /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qorganizer.cpp	2010-08-18 10:04:02.000000000 +0300
@@ -433,7 +433,7 @@
 void qOrganizer::addCalendarPageWidgets()
 {
   //widgets in the page 
-  calendar=new QCalendarWidget; //The Calendar
+  calendar=new QCalendar(); //The Calendar
   calendar->setGridVisible(true);
   calendar-> setFirstDayOfWeek (Qt::DayOfWeek(C_FIRST_DAY_OF_WEEK)); 
   calendar->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
@@ -445,6 +445,11 @@
 
   connect(calendar, SIGNAL(selectionChanged()), this, SLOT(updateDay()));
   
+  /*connect(calendar, SIGNAL(currentPageChanged (int,int)) , this, SLOT (loadSpecialDays(int,int)));
+  connect(calendar, SIGNAL(clicked()) , this, SLOT (loadSpecialDays(int,int)));
+
+  loadSpecialDays(date.year(),date.month());*/
+  
   tableWid = new CQTableWidget();
   tableWid->setRowCount(C_NRROWS);
   tableWid->setColumnCount(4);
@@ -1154,7 +1159,7 @@
           else 
            item->setText(list.at(j)); 
         //This is the way to access an item from the QStringList
-        if(tableWid->item(i,j)!=0) delete tableWid->takeItem(i,j);
+        //if(tableWid->item(i,j)!=0) delete tableWid->takeItem(i,j);
         tableWid->setItem(i,j,item);
       }
      }
@@ -1523,7 +1528,9 @@
          QImage *image = new QImage(origin); 
          if(!image->isNull())
           {
-           document->addResource(QTextDocument::ImageResource,origin,image);
+           QVariant variant;
+           variant = *image;
+           document->addResource(QTextDocument::ImageResource,origin,variant);
            cursor.insertImage(origin);
           }
          delete image;
@@ -1669,7 +1676,7 @@
        {
         item= new QTableWidgetItem(QTableWidgetItem::Type);
         item->setText(slist.at(j));
-        if(list->item(i,j)!=0) delete list->takeItem(i,j);
+       // if(list->item(i,j)!=0) delete list->takeItem(i,j);
         list->setItem(i,j,item);
        };
       }
@@ -1841,7 +1848,7 @@
        {
         item= new QTableWidgetItem(QTableWidgetItem::Type);
         item->setText(slist.at(j));
-        if(table->item(i,j)!=0) delete table->takeItem(i,j);
+        //if(table->item(i,j)!=0) delete table->takeItem(i,j);
         table->setItem(i,j,item);
        }
       }
@@ -2035,7 +2042,7 @@
       { 
        item= new QTableWidgetItem(QTableWidgetItem::Type);
        item->setText(v[j]);
-       if(markTable->item(i,j)!=0) delete markTable->takeItem(i,j);
+     // if(markTable->item(i,j)!=0) delete markTable->takeItem(i,j);
        markTable->setItem(i,j,item); 
       }
     }  
@@ -2110,7 +2117,7 @@
        {
         item= new QTableWidgetItem(QTableWidgetItem::Type);
         item->setText(v[j]);
-        if(absenceTable->item(i,j)!=0) delete absenceTable->takeItem(i,j);
+       // if(absenceTable->item(i,j)!=0) delete absenceTable->takeItem(i,j);
         absenceTable->setItem(i,j,item);
        };
      }
@@ -3408,7 +3415,7 @@
      QString text = query.value(j).toString();
      item= new QTableWidgetItem(QTableWidgetItem::Type);
      item->setText(text);
-     if(tableWid->item(i,j)!=0) delete tableWid->takeItem(i,j);
+     //if(tableWid->item(i,j)!=0) delete tableWid->takeItem(i,j);
      tableWid->setItem(i,j,item); 
     }
   }
@@ -3539,7 +3546,7 @@
      QString text = query.value(j).toString();
      item= new QTableWidgetItem(QTableWidgetItem::Type);
      item->setText(text);
-     if(list->item(i,j)!=0) delete list->takeItem(i,j);
+     //if(list->item(i,j)!=0) delete list->takeItem(i,j);
      list->setItem(i,j,item); 
     }
   }
@@ -3663,7 +3670,7 @@
      QString text = query.value(j).toString();
      item= new QTableWidgetItem(QTableWidgetItem::Type);
      item->setText(text);
-     if(table->item(i,j)!=0) delete table->takeItem(i,j);
+    // if(table->item(i,j)!=0) delete table->takeItem(i,j);
      table->setItem(i,j,item); 
     }
   }
@@ -3815,7 +3822,7 @@
      QString text = query.value(j).toString();
      item= new QTableWidgetItem(QTableWidgetItem::Type);
      item->setText(text);
-     if(markTable->item(i,j)!=0) delete markTable->takeItem(i,j);
+     //if(markTable->item(i,j)!=0) delete markTable->takeItem(i,j);
      markTable->setItem(i,j,item); 
     }
   }
@@ -3926,7 +3933,7 @@
      QString text = query.value(j).toString();
      item= new QTableWidgetItem(QTableWidgetItem::Type);
      item->setText(text);
-     if(absenceTable->item(i,j)!=0) delete absenceTable->takeItem(i,j);
+     //if(absenceTable->item(i,j)!=0) delete absenceTable->takeItem(i,j);
      absenceTable->setItem(i,j,item); 
     }
   }
@@ -4447,6 +4454,52 @@
   }
 }
 
+
+void qOrganizer :: loadSpecialDays(int y,int m)
+{
+    if(C_STORINGMODE!=0)
+        loadSpecialDaysDB();
+    else
+    {
+        //I could list every file in the schedule folder or I could just check every day for this month
+        //The second one is simpler
+        setCalDir();
+        if (y == 0) y = calendar -> selectedDate().year();
+        if (m == 0) m = calendar -> selectedDate().month();
+
+        QString fileName;
+        QString monthstr;
+        QString daystr;
+        QFile file(fileName);
+
+        for (int d=1;d<=31;d++)
+              {
+                //If the month doesn't have 31 days the month won't exist anyway.
+
+                monthstr = QString::number(m);
+                if(m<10) monthstr = QString("0")+monthstr;
+                daystr = QString :: number (d);
+                if(d<10) daystr = QString("0")+daystr;
+                fileName = monthstr+QString("_")+daystr+QString("_")+QString::number(y)+QString(".txt");
+                file.setFileName(fileName);
+                if ( file.exists() )
+                  {
+                    calendar -> addColoredDate(y,m,d);
+
+                  }
+
+              }
+   }
+
+}
+
+
+void qOrganizer :: loadSpecialDaysDB()
+{
+
+}
+
+
 qOrganizer::~qOrganizer()
 {
 }
diff -urN -b /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qorganizer.h /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qorganizer.h
--- /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qorganizer.h	2007-09-08 00:51:40.000000000 +0300
+++ /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qorganizer.h	2010-02-13 02:26:51.000000000 +0200
@@ -59,6 +59,7 @@
 #include <QPixmap>
 #include "settings.h"
 #include "delegates.h"
+#include "qcalendar.h"
 
 class QApplication;
 
@@ -249,7 +250,7 @@
       QAction *saveToMySQLDBAct;
       QWidget *CallWid;
       QVBoxLayout *vl;
-      QCalendarWidget *calendar;
+      QCalendar *calendar;
       QWidget *CalendarPage;
       QFontComboBox *fontBox;
       QVBoxLayout *ToDoVl;
@@ -438,6 +439,8 @@
       void saveAbsenceTable();
       void loadMarksTable();
       void loadAbsenceTable();
+      void loadSpecialDays(int year, int month);
+
 
       void trayActivated(QSystemTrayIcon::ActivationReason reason);
       void toggleVisibility();
@@ -486,6 +489,9 @@
       void saveAlltoTXT();
       void saveAlltoMySQLDB();
 
+      void loadSpecialDaysDB();
+
+
       void saveAll();     
       void loadAll();
       void updateCalendar();
diff -urN -b /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qOrganizer.pro /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qOrganizer.pro
--- /tmp/tardiffdir1/qOrganizer-v3.1-4/src/qOrganizer.pro	2008-09-07 13:30:20.000000000 +0300
+++ /tmp/tardiffdir2/qOrganizer-v3.1-5/src/qOrganizer.pro	2010-02-13 02:26:50.000000000 +0200
@@ -1,17 +1,25 @@
-######################################################################
+# #####################################################################
 # Automatically generated by qmake (2.01a) Wed Aug 1 11:45:53 2007
-######################################################################
-
+# #####################################################################
 TEMPLATE = app
 TARGET = 
-DEPENDPATH += . lang
+DEPENDPATH += . \
+    lang
 INCLUDEPATH += .
 
 # Input
-HEADERS += qorganizer.h settings.h delegates.h
-SOURCES += main.cpp qorganizer.cpp settings.cpp delegates.cpp
+HEADERS += qorganizer.h \
+    settings.h \
+    delegates.h \
+    qcalendar.h
+SOURCES += main.cpp \
+    qorganizer.cpp \
+    settings.cpp \
+    delegates.cpp \
+    qcalendar.cpp
 RESOURCES += application.qrc
-QT        += network sql
+QT += network \
+    sql
 TRANSLATIONS += lang/Hungarian.ts \
                 lang/Romanian.ts \
                 lang/Portuguese.ts \

--- End Message ---
--- Begin Message ---
On Tue, Aug 24, 2010 at 20:52:59 +0300, Eugene V. Lyubimkin wrote:

> While preparing new package (which took a lot more time that it should) and
> looking to the code again, I now think that this software should be kept out
> of Squeeze due to its low quality. Appropriate RC bug #594229 filed. Please
> remove qorganizer from testing.
> 
Removal hint added, thanks.

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: