OSDN Git Service

>>312, quote with '>'
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Tue, 12 Oct 2004 13:56:39 +0000 (13:56 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Tue, 12 Oct 2004 13:56:39 +0000 (13:56 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1438 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/kitatabwidgetbase.cpp
kita/src/kitawritetabwidget.cpp
kita/src/kitawritetabwidget.h

index c292f4c..8ca76fe 100644 (file)
@@ -554,6 +554,9 @@ void KitaTabBarBase::showPopupMenu( int idx, QPoint global )
     popup->insertItem( i18n( "Close left tabs" ) , MENU_CLOSELEFT );
     collection->action( "tab_closealltab" ) ->plug( popup );
 
+    popup->insertSeparator();
+    collection->action( "tab_configkeys" )->plug( popup );       
+    
     int ret = popup->exec( global );
     delete popup;
 
index b1dd618..38961d3 100644 (file)
 #include <kaction.h>
 #include <klocale.h>
 #include <kpopupmenu.h>
+#include <kapplication.h>
 
 #include <qmessagebox.h>
+#include <qclipboard.h>
 
 /*--------------------------------------------------------------------------------*/
 
@@ -34,6 +36,7 @@ KitaWriteTabWidget::KitaWriteTabWidget( QWidget* parent, const char* name, WFlag
     setTabBar( new KitaWriteTabBar( this ) );
 
     connectSignals();
+    setupActions();
 }
 
 
@@ -201,6 +204,18 @@ void KitaWriteTabWidget::slotChangeWriteTab( const KURL& url )
 /* protected */ /* virtual */
 void KitaWriteTabWidget::deleteWidget( QWidget* w )
 {
+    KitaWriteView* view = isWriteView( w );
+
+    if( view == NULL ) return;
+
+    if( view->body().length() ){
+       if( QMessageBox::warning( this, "Kita",
+                                   i18n( "If you close this dialog, you will lose text.\n"
+                                         "Do you want to close?" ),
+                                 QMessageBox::Ok, QMessageBox::Cancel | QMessageBox::Default )
+           == QMessageBox::Cancel ) return;
+    }
+    
     KitaTabWidgetBase::deleteWidget( w );
     
     if ( count() == 0 ){
@@ -209,6 +224,37 @@ void KitaWriteTabWidget::deleteWidget( QWidget* w )
 }
 
 
+/*--------------------------------*/
+/* KitaWriteTabWidget actions */
+
+
+/* private */
+void KitaWriteTabWidget::setupActions()
+{
+    new KAction( i18n( "quote clipboard" ),
+                Key_F2,
+                this,
+                SLOT( slotQuoteClipboard() ),
+                actionCollection(),
+                "writeview_quoteclip" );    
+}
+
+
+/* public slot */
+void KitaWriteTabWidget::slotQuoteClipboard()
+{
+    KitaWriteView* view = isWriteView( currentPage() );
+    if ( view ) {
+       QClipboard * clipboard = QApplication::clipboard();
+       QString str = clipboard->text( QClipboard::Selection );
+       if( str == QString::null ) str = clipboard->text( QClipboard::Clipboard );
+       if( str != QString::null ){
+
+           QString msg =  "\n> " + str.replace( "\n", "\n> " ) + "\n";
+           view->insertMessage( msg );
+       }
+    }
+}
 
 
 /*---------------------------------------------------------------------*/
index b635a13..be49526 100644 (file)
@@ -42,6 +42,16 @@ private slots:
     
 protected:
     virtual void deleteWidget( QWidget* w );
+
+
+    /*------------------------------------*/
+    /* KitaWriteTabWidget actions */
+    
+private:    
+    void setupActions();
+    
+public slots:
+    void slotQuoteClipboard();
 };