-rw-r--r-- | korganizer/calendarview.cpp | 9 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/koeventviewer.cpp | 29 | ||||
-rw-r--r-- | korganizer/koeventviewer.h | 1 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.cpp | 14 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.h | 1 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 7 | ||||
-rw-r--r-- | korganizer/koviewmanager.h | 1 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 16 | ||||
-rw-r--r-- | korganizer/navigatorbar.cpp | 13 |
10 files changed, 84 insertions, 8 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index a330414..0015bd6 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -3426,9 +3426,18 @@ void CalendarView::setReadOnly(bool readOnly) bool CalendarView::isModified() { return mModified; } +void CalendarView::slotprintSelInc() +{ + if ( currentSelection() == 0 ) { + KMessageBox::sorry(this,i18n("There is nothing selected!")); + return; + } + showIncidence(); + getEventViewerDialog()->print(); +} void CalendarView::printSetup() { #ifndef KORG_NOPRINTER createPrinter(); diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index 9782ffe..05a34b4 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h @@ -175,8 +175,9 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser void updateSearchDialog(); public slots: + void slotprintSelInc(); void showNextAlarms(); void showOpenError(); void watchSavedFile(); void recheckTimerAlarm(); diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 1508638..445fc86 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp @@ -52,8 +52,11 @@ #ifdef DESKTOP_VERSION #include <kabc/addresseedialog.h> #include <kabc/addresseeview.h> +#include <qprinter.h> +#include <qpainter.h> +#include <qpaintdevicemetrics.h> #else //DESKTOP_VERSION #include <externalapphandler.h> #include <qtopia/qcopenvelope_qws.h> #endif //DESKTOP_VERSION @@ -68,8 +71,34 @@ KOEventViewer::KOEventViewer(QWidget *parent,const char *name) KOEventViewer::~KOEventViewer() { } +void KOEventViewer::printMe() +{ +#ifdef DESKTOP_VERSION + QPrinter printer; + if (!printer.setup() ) + return; + QPainter p; + p.begin ( &printer ); + QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer ); + float dx, dy; + int wid = (m.width() * 9)/10; + dx = (float) wid/(float)contentsWidth (); + dy = (float)(m.height()) / (float)contentsHeight (); + float scale; + // scale to fit the width or height of the paper + if ( dx < dy ) + scale = dx; + else + scale = dy; + p.translate( m.width()/10,0 ); + p.scale( scale, scale ); + drawContents ( &p, 0,0, contentsWidth (), contentsHeight () ); + p.end(); +#endif + +} void KOEventViewer::setSource(const QString& n) { if ( n.left(3) == "uid" ) diff --git a/korganizer/koeventviewer.h b/korganizer/koeventviewer.h index 47cc5e9..ca5bc15 100644 --- a/korganizer/koeventviewer.h +++ b/korganizer/koeventviewer.h @@ -51,8 +51,9 @@ class KOEventViewer : public QTextBrowser { void addText(QString text); void setSyncMode( bool ); void setColorMode( int ); void mailToAttendees( bool all ); + void printMe(); protected: int mColorMode; void addTag(const QString & tag,const QString & text); diff --git a/korganizer/koeventviewerdialog.cpp b/korganizer/koeventviewerdialog.cpp index f734696..ec55cca 100644 --- a/korganizer/koeventviewerdialog.cpp +++ b/korganizer/koeventviewerdialog.cpp @@ -23,8 +23,9 @@ #include <qtimer.h> #include <qpushbutton.h> #include "koeventviewer.h" +#include <kmessagebox.h> #include "koprefs.h" #include <libkcal/todo.h> #include "qapp.h" @@ -89,8 +90,21 @@ void KOEventViewerDialog::showMe() mEventViewer->setFocus(); //raise(); } +void KOEventViewerDialog::print() +{ + qDebug("PRINT "); + int km = KMessageBox::warningContinueCancel(this,mIncidence->summary().left(35) + + i18n("\n\nDo you really want to print this item?"), + i18n("KO/Pi Print Confirmation"),i18n("Print")); + if ( km != KMessageBox::Continue ) { + qDebug("cancel "); + return; + } + mEventViewer->printMe(); + +} void KOEventViewerDialog::setSyncMode( bool b ) { mSyncMode = b; //qDebug("KOEventViewerDialog::setSyncMode %d ",mSyncMode ); diff --git a/korganizer/koeventviewerdialog.h b/korganizer/koeventviewerdialog.h index 36431ad..8e1cd44 100644 --- a/korganizer/koeventviewerdialog.h +++ b/korganizer/koeventviewerdialog.h @@ -50,8 +50,9 @@ class KOEventViewerDialog : public KDialogBase { void setColorMode( int m ); int executeS( bool ); public slots: void updateConfig(); + void print(); signals: void editIncidence( Incidence* ); void jumpToTime( const QDate &); void showAgendaView( bool ); diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index e80b3fc..8752636 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp @@ -381,8 +381,15 @@ void KOViewManager::showWhatsNextView() //mWhatsNextView->updateView(); } +void KOViewManager::slotprintWNV() +{ + if (!mWhatsNextView) + showWhatsNextView(); + emit printWNV(); + +} void KOViewManager::showListView() { if (!mListView) { mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h index d829f14..1d565a6 100644 --- a/korganizer/koviewmanager.h +++ b/korganizer/koviewmanager.h @@ -81,8 +81,9 @@ class KOViewManager : public QObject void printWNV(); void signalFullScreen( bool ); void signalAgendaView( bool ); public slots: + void slotprintWNV(); void showNextView(); void showMonth( const QDate & ); void showDateView( int, QDate ); void updateView(); diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index a4e0834..ad1c0cd 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -184,9 +184,13 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : QFontMetrics fm ( filterMenubar->font() ); filterPopupMenu = new QPopupMenu( this ); filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); - filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+"Ax" ) ); + QString addTest = "Ax"; +#ifdef DESKTOP_VERSION + addTest = "AAAx"; +#endif + filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+addTest ) ); addToolBar (filterToolBar , tbd ); connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) ); connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) ); } else { @@ -347,8 +351,9 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : #endif #ifndef DESKTOP_VERSION infrared = 0; #endif + updateFilterToolbar(); updateWeek( mView->startDate() ); connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), SLOT( updateWeekNum( const KCal::DateList & ) ) ); mBRdisabled = false; @@ -991,9 +996,16 @@ void MainWindow::initActions() this, SLOT( printSel() ) ); action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); action->addTo( beamMenu_X ); connect( action, SIGNAL( activated() ), - mView->viewManager(), SIGNAL( printWNV() ) ); + mView->viewManager(), SLOT( slotprintWNV() ) ); + + action = new QAction( i18n("Print selected event / todo..."),icon,i18n("Print selected event / todo..."), 0, this ); + action->addTo( beamMenu_X ); + connect( action, SIGNAL( activated() ), + mView, SLOT( slotprintSelInc() ) ); + + importMenu->insertItem( i18n("Print"), beamMenu_X ); #endif importMenu->insertSeparator(); action = new QAction( "manage cat", i18n("Manage new categories..."), 0, diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp index 49149f2..0610d55 100644 --- a/korganizer/navigatorbar.cpp +++ b/korganizer/navigatorbar.cpp @@ -112,8 +112,15 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam mSelectMonth->setFlat( true); mPrevYear->setFlat( true); mPrevMonth->setFlat( true); mPrevWeek->setFlat( true); + + mPrevYear->setAutoRepeat( true ); + mPrevMonth->setAutoRepeat( true ); + mNextMonth->setAutoRepeat( true ); + mPrevWeek->setAutoRepeat( true ); + mNextWeek->setAutoRepeat( true ); + mNextYear->setAutoRepeat( true ); } else { mPrevWeek->hide(); mNextWeek->hide(); } @@ -150,14 +157,8 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam mNextWeek->setFocusPolicy(NoFocus); mNextYear->setFocusPolicy(NoFocus); mSelectMonth->setFocusPolicy(NoFocus); setSizePolicy( QSizePolicy ( QSizePolicy::Expanding ,QSizePolicy::Fixed ) ); - mPrevYear->setAutoRepeat( true ); - mPrevMonth->setAutoRepeat( true ); - mNextMonth->setAutoRepeat( true ); - mPrevWeek->setAutoRepeat( true ); - mNextWeek->setAutoRepeat( true ); - mNextYear->setAutoRepeat( true ); } NavigatorBar::~NavigatorBar() |