OSDN Git Service

>>926
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 25 Jun 2004 17:21:29 +0000 (17:21 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 25 Jun 2004 17:21:29 +0000 (17:21 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1193 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/parsemisc.cpp
kita/src/part/kitathreadview.cpp
kita/src/part/kitawritedialog.cpp
kita/src/part/kitawritedialog.h
kita/src/part/kitawritedialogbase.ui

index f598a22..d800288 100644 (file)
@@ -594,11 +594,11 @@ void ParseMisc::parseBODYdat(
         case '&':
            
            /* &gt; */
-            if ( mode != PARSEMODE_TEXT
+            if ( ( mode == PARSEMODE_DOM || mode == PARSEMODE_HTML )
                 && chpt[i + 1] == 'g' && chpt[i + 2] == 't' && chpt[i + 3]  == ';')
                 ancChain = createResAnchor( mode, rawStr, hdoc, bodynode, bodytext, chpt, i, index, lineStr);
            /* special char */
-           else {
+           else if ( mode == PARSEMODE_DOM || mode == PARSEMODE_TEXT ){
 
                QString tmpstr;
                tmpstr = parseSpecialChar(chpt + i, pos);
index 660c083..878456d 100644 (file)
@@ -280,7 +280,7 @@ void KitaThreadView::slotShowErrorDialog( const QString& input, const KURL& )
 
 KitaWriteDialog* KitaThreadView::openDialog( const Kita::PostInfo& info )
 {
-    KitaWriteDialog * new_dialog = KitaWriteDialog::open( info, m_thread );
+    KitaWriteDialog * new_dialog = KitaWriteDialog::open( info, m_datURL, this );
     connect( new_dialog, SIGNAL( postStarted( KIO::Job*, const Kita::PostInfo& ) ),
              this, SLOT( slotPostStarted( KIO::Job*, const Kita::PostInfo& ) ) );
     connect( new_dialog, SIGNAL( postResponse( const QString&, const KURL& ) ),
index 33c2c63..0f0a4ff 100644 (file)
 
 #include "kitawritedialog.h"
 #include "libkita/qcp932codec.h"
-#include "libkita/thread.h"
 #include "libkita/kitaconfig.h"
 #include "kita2ch.h"
-#include "kitathreadview.h"
-#include "kitadomtree.h"
-#include "libkita/access.h"
+#include "kitahtmlpart.h"
+#include "kitahtmlview.h"
 #include "libkita/datmanager.h"
 #include "libkita/parsemisc.h"
 #include "libkita/signalcollection.h"
@@ -26,6 +24,7 @@
 #include <kstandarddirs.h>
 #include <klineedit.h>
 
+#include <qapplication.h>
 #include <qtextedit.h>
 #include <qpushbutton.h>
 #include <qlabel.h>
@@ -40,8 +39,8 @@
 
 KitaWriteDialogPrivate* KitaWriteDialog::s_private = 0;
 
-KitaWriteDialog::KitaWriteDialog( const Kita::Thread* thread, QWidget* parent, const char* name )
-        : KitaWriteDialogBase( parent, name )
+KitaWriteDialog::KitaWriteDialog( const KURL& datURL, QWidget* parent, const char* name )
+        : KitaWriteDialogBase( parent, name, WStyle_Customize |  WType_TopLevel | WStyle_DialogBorder | WStyle_Title | WStyle_SysMenu | WStyle_MinMax | Qt::WDestructiveClose )
 {
     QFont font = KitaConfig::font();
     bodyText->setFont( font );
@@ -73,15 +72,20 @@ KitaWriteDialog::KitaWriteDialog( const Kita::Thread* thread, QWidget* parent, c
     /*--------------------*/
     /* init preview       */
 
-    m_thread = const_cast<Kita::Thread *>( thread );
+    m_datURL = datURL;
 
     connect( qtw, SIGNAL( currentChanged ( QWidget * ) ),
              this, SLOT( slotCurrentChanged ( QWidget * ) ) );
 
-    m_preview = new KitaThreadView( qtw );
-    qtw->addTab( m_preview, i18n( "preview" ) );
+    m_preview = new KitaHTMLPart( NULL );
+    qtw->addTab( m_preview->view(), i18n( "preview" ) );
 
-    m_preview->setupEx( m_thread , 0, VIEWMODE_PREVIEW );
+    m_preview->setup( HTMLPART_MODE_KHTML, m_datURL );
+
+    /* move to center */
+    QWidget * desk = QApplication::desktop();
+    QPoint p = QPoint( (desk->width() - width() )/2, (desk->height()-height())/2 );
+    move(p);
 }
 
 KitaWriteDialog::~KitaWriteDialog()
@@ -111,7 +115,8 @@ void KitaWriteDialog::fetchPostInfo( Kita::PostInfo* storage ) const
 
 // TODO: Thread¥¯¥é¥¹¤ò»È¤¦¤è¤¦¤Ë½ñ¤­´¹¤¨¤ë
 KitaWriteDialog* KitaWriteDialog::open( const Kita::PostInfo& info,
-                                        const Kita::Thread* thread )
+                                        const KURL& datURL,
+                                       QWidget* parent )
 {
     if ( ! info.check() ) return 0;
     if ( ! s_private ) {
@@ -119,7 +124,7 @@ KitaWriteDialog* KitaWriteDialog::open( const Kita::PostInfo& info,
         if ( ! s_private ) return 0;
     }
 
-    KitaWriteDialog* new_dlg = new KitaWriteDialog( thread );
+    KitaWriteDialog* new_dlg = new KitaWriteDialog( datURL, parent );
     if ( ! new_dlg ) return 0;
 
     new_dlg->m_postInfo = info;
@@ -128,6 +133,9 @@ KitaWriteDialog* KitaWriteDialog::open( const Kita::PostInfo& info,
     new_dlg->connect( new_dlg->buttonOk, SIGNAL( clicked() ),
                       new_dlg, SLOT( postMessage() ) );
 
+    new_dlg->connect( new_dlg->buttonCancel, SIGNAL( clicked() ),
+                      new_dlg, SLOT( reject() ) );
+
     // set fields
     new_dlg->nameLine->setText( info.name );
     new_dlg->mailLine->setText( info.mail );
@@ -137,14 +145,14 @@ KitaWriteDialog* KitaWriteDialog::open( const Kita::PostInfo& info,
     }
     new_dlg->bodyText->setText( info.body );
 
-    new_dlg->boardNameLabel->setText( thread->boardName() );
-    new_dlg->threadNameLabel->setText( thread->name() );
-    new_dlg->threadURLLabel->setText( thread->url() );
+    new_dlg->boardNameLabel->setText( Kita::DatManager::thread_boardName( datURL ) );
+    new_dlg->threadNameLabel->setText( Kita::DatManager::thread_name( datURL ) );
+    new_dlg->threadURLLabel->setText( Kita::DatManager::thread_url( datURL ) );
 
     KCompletion* comp = KitaConfig::nameCompletion();
     new_dlg->nameLine->setCompletionObject( comp );
 
-    new_dlg->setCaption( i18n( "Write in %1" ).arg( thread->name() ) );
+    new_dlg->setCaption( i18n( "Write in %1" ).arg( Kita::DatManager::thread_name( datURL ) ) );
     return new_dlg;
 }
 
@@ -232,8 +240,8 @@ void KitaWriteDialog::slotPostFinished( KIO::Job* job )
     m_array.resize( 0 );
 
     int idx = s_private->m_heaplist.find( this );
-    if ( idx != -1 )
-        delete this;
+    if ( idx != -1 ) 
+        close( TRUE );
 }
 
 void KitaWriteDialog::reject()
@@ -243,7 +251,7 @@ void KitaWriteDialog::reject()
                                          "Do you want to close?" ),
                                    QMessageBox::Ok, QMessageBox::Cancel | QMessageBox::Default ) ) {
     case QMessageBox::Ok:
-        KitaWriteDialogBase::reject();
+        close( TRUE );
         break;
     case QMessageBox::Cancel:
         // do nothing
@@ -259,11 +267,11 @@ void KitaWriteDialog::slotCurrentChanged ( QWidget * w )
 {
     if ( w == bodyText ) return ;
 
-    int resnum = Kita::DatManager::getMaxResNumber( m_thread->datURL() ) + 1 ;
+    int resnum = Kita::DatManager::getMaxResNumber( m_datURL ) + 1 ;
 
     QDateTime now = QDateTime::currentDateTime();
     QString bodystr = body();
-    bodystr.replace( ">", "&gt;" ).replace( "\n", " <br> " );
+    bodystr.replace( "<", "&lt;" ).replace( ">", "&gt;" ).replace( "\n", " <br> " );
     QString namestr = name();
     if ( namestr == NULL || namestr.length() == 0 ) namestr = "(default name)";
     QString rawData = namestr + "<>" + mail() + "<>"
@@ -271,7 +279,7 @@ void KitaWriteDialog::slotCurrentChanged ( QWidget * w )
                   + "<> " + bodystr + " <>";
 
     QString htmlstr = Kita::ParseMisc::DatToHtml(rawData,resnum,KitaConfig::showMailAddress());
-    m_preview->domSetInnerHTML( htmlstr );
+    m_preview->setInnerHTML( htmlstr );
 }
 
 
index 58631c3..00644c9 100644 (file)
 template <class type> class QPtrList;
 class KitaWriteDialogPrivate;
 class KitaWriteDialog;
-class KitaThreadView;
-class KitaDomTree;
+class KitaHTMLPart;
+
 namespace Kita
 {
     class Access;
-    class Thread;
 }
 
 /**
@@ -35,7 +34,7 @@ class KitaWriteDialog : public KitaWriteDialogBase
 {
     Q_OBJECT
 public:
-    KitaWriteDialog( const Kita::Thread* thread, QWidget* parent = 0, const char* name = 0 );
+    KitaWriteDialog( const KURL& datURL, QWidget* parent = 0, const char* name = 0 );
     virtual ~KitaWriteDialog();
     const QString name() const;
     const QString mail() const;
@@ -43,7 +42,7 @@ public:
 
     virtual bool error() { return false; };
 
-    static KitaWriteDialog* open( const Kita::PostInfo& info, const Kita::Thread* thread );
+    static KitaWriteDialog* open( const Kita::PostInfo& info, const KURL& datURL, QWidget* parent );
 
 public slots:
     void postMessage();
@@ -69,9 +68,9 @@ private:
     QCString m_array;
     bool m_error;
     static KitaWriteDialogPrivate* s_private;
-    KitaThreadView *m_preview;
+    KitaHTMLPart *m_preview;
     int m_resnum;
-    Kita::Thread* m_thread;
+    KURL m_datURL;
 
 private slots:
     void slotRecieveData( KIO::Job*, const QByteArray& );
index a6bd742..1479353 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE UI><UI version="3.1" stdsetdef="1">
 <class>KitaWriteDialogBase</class>
-<widget class="QDialog">
+<widget class="QWidget">
     <property name="name">
         <cstring>KitaWriteDialogBase</cstring>
     </property>
@@ -15,9 +15,6 @@
     <property name="caption">
         <string>Write in thread</string>
     </property>
-    <property name="sizeGripEnabled">
-        <bool>true</bool>
-    </property>
     <vbox>
         <property name="name">
             <cstring>unnamed</cstring>
 </customwidgets>
 <connections>
     <connection>
-        <sender>buttonOk</sender>
-        <signal>clicked()</signal>
-        <receiver>KitaWriteDialogBase</receiver>
-        <slot>accept()</slot>
-    </connection>
-    <connection>
-        <sender>buttonCancel</sender>
-        <signal>clicked()</signal>
-        <receiver>KitaWriteDialogBase</receiver>
-        <slot>reject()</slot>
-    </connection>
-    <connection>
         <sender>sageBox</sender>
         <signal>toggled(bool)</signal>
         <receiver>KitaWriteDialogBase</receiver>