kita_LDADD = kita.la
# which sources should be compiled for kita
-kita_la_SOURCES = main.cpp kita.cpp pref.cpp kitaiface.skel kitasubjectview.h kitasubjectview.cpp kitaboardview.h kitaboardview.cpp threadlistviewbase.ui kitaboardviewbase.ui kitafontprefbase.ui favoritelistview.h favoritelistview.cpp kitathreadtabwidget.h kitathreadtabwidget.cpp kitasubjecttabwidget.h kitasubjecttabwidget.cpp kitacolorprefbase.ui threadlistview.cpp asciiartprefbase.ui debugprefbase.ui uiprefbase.ui aboneprefbase.ui aboneprefpage.cpp aboneprefpage.h loginprefbase.ui loginprefpage.h loginprefpage.cpp kitatabwidgetbase.cpp kitatabwidgetbase.h kitaimgtabwidget.cpp kitaimgtabwidget.h kitawritetabwidget.cpp kitawritetabwidget.h kitaboardtabwidget.cpp kitaboardtabwidget.h
+kita_la_SOURCES = main.cpp kita.cpp pref.cpp kitaiface.skel kitasubjectview.h kitasubjectview.cpp kitaboardview.h kitaboardview.cpp threadlistviewbase.ui kitaboardviewbase.ui kitafontprefbase.ui favoritelistview.h favoritelistview.cpp kitathreadtabwidget.h kitathreadtabwidget.cpp kitasubjecttabwidget.h kitasubjecttabwidget.cpp kitacolorprefbase.ui threadlistview.cpp stylesheetprefbase.ui asciiartprefbase.ui debugprefbase.ui uiprefbase.ui aboneprefbase.ui aboneprefpage.cpp aboneprefpage.h loginprefbase.ui loginprefpage.h loginprefpage.cpp kitatabwidgetbase.cpp kitatabwidgetbase.h kitaimgtabwidget.cpp kitaimgtabwidget.h kitawritetabwidget.cpp kitawritetabwidget.h kitaboardtabwidget.cpp kitaboardtabwidget.h
kita_SOURCES = dummy.cpp
// load completion
loadCompletion();
+ // load style sheet
+ loadStyleSheet();
+
// load ascii art
loadAsciiArt();
saveAboneNameList();
saveAboneWordList();
+ saveStyleSheet();
+
saveAsciiArt();
saveCompletion();
config.sync();
}
+void KitaMainWindow::loadStyleSheet()
+{
+ QString configPath = locateLocal( "appdata", "stylesheet" );
+ QFile file( configPath );
+ if ( file.open( IO_ReadOnly ) )
+ {
+ QTextStream stream( &file );
+ stream.setEncoding( QTextStream::UnicodeUTF8 );
+
+ QStringList list;
+ QString str;
+
+ while ( ( str = stream.readLine() ) != QString::null )
+ {
+ if ( ! str.isEmpty() )
+ {
+ list << str;
+ }
+ }
+ KitaConfig::setStyleSheetText( list.join( "\n" ) );
+ }
+}
+
+void KitaMainWindow::saveStyleSheet()
+{
+ QString configPath = locateLocal( "appdata", "stylesheet" );
+ QFile file( configPath );
+ if ( file.open( IO_WriteOnly ) )
+ {
+ QTextStream stream( &file ) ;
+ stream.setEncoding( QTextStream::UnicodeUTF8 );
+
+ stream << KitaConfig::styleSheetText();
+ }
+}
+
void KitaMainWindow::loadAsciiArt()
{
QString configPath = locateLocal( "appdata", "asciiart" );
void saveFavoriteBoards();
void loadCompletion();
void saveCompletion();
+ void loadStyleSheet();
+ void saveStyleSheet();
void loadAsciiArt();
void saveAsciiArt();
void loadAboneIDList();
#include <klocale.h>
#include <dom/html_document.h>
#include <dom/html_element.h>
+#include <dom/html_table.h>
#include <dom/dom_text.h>
#include "datinfo.h"
QString tmpstr;
QString status = "normal";
DOM::Element bodynode, titlenode, tmpelm;
+ DOM::HTMLTableElement table;
bool showAddr = KitaConfig::showMailAddress();
bool showAA = KitaConfig::showAA();
bool abone = checkAbonePrivate( num );
{
/* title node */
- titlenode = hdoc.createElement( "DT" );
- ParseMisc::parseTITLEdat(PARSEMODE_DOM,hdoc,num,showAddr,resdat,titlenode,tmpstr);
+ table = hdoc.createElement( "TABLE" );
+ titlenode = table;
+ tmpelm = table.insertRow( 0 );
+ ParseMisc::parseTITLEdat(PARSEMODE_DOM,hdoc,num,showAddr,resdat,tmpelm,tmpstr);
/* body node */
- bodynode = hdoc.createElement( "DD" );
+ bodynode = hdoc.createElement( "DIV" );
{
/* put the span node at the head of each line */
if ( showAA )
}
/* title node */
- titlenode = hdoc.createElement( "DT" );
- titlenode.appendChild( hdoc.createTextNode(
+ table = hdoc.createElement( "TABLE" );
+ titlenode = table;
+ tmpelm = table.insertRow( 0 );
+ tmpelm = tmpelm.appendChild( hdoc.createElement( "TD" ) );
+ tmpelm.appendChild( hdoc.createTextNode(
QString().setNum( num ) + " " + namestr ) );
/* body node */
- bodynode = hdoc.createElement( "DD" );
+ bodynode = hdoc.createElement( "DIV" );
tmpelm = bodynode.appendChild( hdoc.createElement( "SPAN" ) );
{
tmpelm.setAttribute( "style", "color: red" );
}
- bodynode.appendChild( hdoc.createElement( "BR" ) );
- bodynode.appendChild( hdoc.createElement( "BR" ) );
/*-----------------------------*/
retelm.setAttribute( "kita_rname", resdat.name );
retelm.setAttribute( "kita_rid", resdat.id );
- tmpelm = retelm.appendChild( hdoc.createElement( "DL" ) );
- {
- tmpelm.appendChild( titlenode );
- tmpelm.appendChild( bodynode );
- }
+ titlenode.setAttribute( "class", "res_title" );
+ bodynode.setAttribute( "class", "res_body" );
+ retelm.appendChild( titlenode );
+ retelm.appendChild( bodynode );
}
return TRUE;
}
KitaConfig::KitaConfig()
- : m_threadColor( "black" ), m_threadBackgroundColor( "white" ),
- m_popupColor( "black" ), m_popupBackgroundColor( "yellow" ),
- m_showMailAddress( false ), m_MarkTime( 24 ), m_alwaysUseTab( true ),
- m_sortOrder( Order_Mark ), m_showAA( false ), m_showNum( 100 )
+ : m_threadColor( KitaConfig::defaultThreadColor() ),
+ m_threadBackgroundColor( KitaConfig::defaultThreadBackgroundColor() ),
+ m_popupColor( KitaConfig::defaultPopupColor() ),
+ m_popupBackgroundColor( KitaConfig::defaultPopupBackgroundColor() ),
+ m_font( KitaConfig::defaultFont() ),
+ m_threadFont( KitaConfig::defaultThreadFont() ),
+ m_styleSheetText( KitaConfig::defaultStyleSheetText() ),
+ m_asciiArtList( KitaConfig::defaultAsciiArtList() ),
+ m_showMailAddress( KitaConfig::defaultShowMailAddress() ),
+ m_aboneNameList( KitaConfig::defaultAboneNameList() ),
+ m_aboneIDList( KitaConfig::defaultAboneIDList() ),
+ m_aboneWordList( KitaConfig::defaultAboneWordList() ),
+ m_MarkTime( KitaConfig::defaultMarkTime() ),
+ m_alwaysUseTab( KitaConfig::defaultAlwaysUseTab() ),
+ m_sortOrder( static_cast<SortOrder>( KitaConfig::defaultSortOrder() ) ),
+ m_showAA( KitaConfig::defaultShowAA() ),
+ m_showNum( KitaConfig::defaultShowNum() ),
+ m_usePart( KitaConfig::defaultUsePart() ),
+ m_partMimeList( KitaConfig::defaultPartMimeList() )
{}
KitaConfig::~KitaConfig()
void KitaConfig::readConfig( KConfig* config )
{
config->setGroup( "Global" );
- KitaConfig::setFont( config->readFontEntry( "Font" ) );
- KitaConfig::setThreadFont( config->readFontEntry( "ThreadFont" ) );
- KitaConfig::setShowMailAddresss( config->readBoolEntry( "ShowMailAddress" ) );
- KitaConfig::setMarkTime( config->readUnsignedNumEntry( "MarkTime" , 24 ) );
- KitaConfig::setSortOrder( config->readNumEntry( "SortOrder", KitaConfig::Order_Mark ) );
- KitaConfig::setAlwaysUseTab( config->readBoolEntry( "AlwaysUseTab", false ) );
- KitaConfig::setShowAA( config->readBoolEntry( "ShowAA", false ) );
- KitaConfig::setShowNum( config->readNumEntry( "ShowNum", 100 ) );
- KitaConfig::setUsePart( config->readBoolEntry( "UsePart", true ) );
- if ( config->hasKey( "PartMimeList" ) )
- KitaConfig::setPartMimeList( config->readListEntry( "PartMimeList" ) );
+
+ if ( config->hasKey( "Font" ) )
+ {
+ KitaConfig::setFont( config->readFontEntry( "Font" ) );
+ }
+ else {
+ KitaConfig::setFont( KitaConfig::defaultFont() );
+ }
+
+ if ( config->hasKey( "ThreadFont" ) )
+ {
+ KitaConfig::setThreadFont( config->readFontEntry( "ThreadFont" ) );
+ }
else {
- // set partMimeList default
- QStringList list;
- list << "image/gif" << "image/jpeg" << "image/png" << "image/x-bmp";
- KitaConfig::setPartMimeList( list );
+ KitaConfig::setThreadFont( KitaConfig::defaultThreadFont() );
}
- setFont( KitaConfig::font() );
+ KitaConfig::setShowMailAddress( config->readBoolEntry( "ShowMailAddress", KitaConfig::defaultShowMailAddress() ) );
+ KitaConfig::setMarkTime( config->readUnsignedNumEntry( "MarkTime", KitaConfig::defaultMarkTime() ) );
+ KitaConfig::setSortOrder( config->readNumEntry( "SortOrder", KitaConfig::defaultSortOrder() ) );
+ KitaConfig::setAlwaysUseTab( config->readBoolEntry( "AlwaysUseTab", KitaConfig::defaultAlwaysUseTab() ) );
+ KitaConfig::setShowAA( config->readBoolEntry( "ShowAA", KitaConfig::defaultShowAA() ) );
+ KitaConfig::setShowNum( config->readNumEntry( "ShowNum", KitaConfig::defaultShowNum() ) );
+ KitaConfig::setUsePart( config->readBoolEntry( "UsePart", KitaConfig::defaultUsePart() ) );
config->setGroup( "Color" );
{
KitaConfig::setPopupColor( popupColor );
}
+ else
+ {
+ KitaConfig::setPopupColor( KitaConfig::defaultPopupColor() );
+ }
QColor popupBackgroundColor = config->readColorEntry( "PopupBackground" );
if ( popupColor.isValid() )
{
KitaConfig::setPopupBackgroundColor( popupBackgroundColor );
}
-
+ else
+ {
+ KitaConfig::setPopupBackgroundColor( KitaConfig::defaultPopupBackgroundColor() );
+ }
+
config->setGroup( "Account" );
KitaConfig::setUserID( config->readEntry( "UserID" ) );
KitaConfig::setPassword( decryptStr( config->readEntry( "Password" ) ) );
{
return encryptStr( aStr );
}
+
+QString KitaConfig::defaultStyleSheetText()
+{
+ return QString(
+ "body,\n"
+ "body.pop {\n"
+ " color: black;\n"
+ " background-color: white;\n"
+ "}\n"
+ "\n"
+ "table.res_title,\n"
+ "table.pop_res_title {\n"
+ " white-space: nowrap;\n"
+ "}\n"
+ "td.res_title_number,\n"
+ "td.pop_res_title_number {\n"
+ "}\n"
+ "td.res_title_name,\n"
+ "td.pop_res_title_name {\n"
+ "}\n"
+ "td.res_title_date,\n"
+ "td.pop_res_title_date {\n"
+ "}\n"
+ "td.res_title_id,\n"
+ "td.pop_res_title_id {\n"
+ "}\n"
+ "div.res_body,\n"
+ "div.pop_res_body {\n"
+ " margin-left: 3.5em;\n"
+ " margin-bottom: 1.8em;\n"
+ "}\n"
+ "div.kokoyon {\n"
+ " background-color: #CCCCCC;\n"
+ " text-align: center;\n"
+ "}\n"
+ "\n"
+ );
+}
+
+QStringList KitaConfig::defaultPartMimeList()
+{
+ QStringList list;
+ list << "image/gif" << "image/jpeg" << "image/png" << "image/x-bmp";
+ return list;
+}
QFont m_threadFont;
QString m_boardListURL;
KCompletion m_nameCompletion;
+ QString m_styleSheetText;
QStringList m_asciiArtList;
bool m_showMailAddress;
QStringList m_aboneNameList;
static KitaConfig* getInstance();
static QFont& font() { return getInstance() ->m_font; }
static void setFont( QFont font ) { getInstance() ->m_font = font; }
+ static QFont defaultFont() { return QFont(); }
+
static QFont& threadFont() { return getInstance() ->m_threadFont; }
static void setThreadFont( QFont font ) { getInstance() ->m_threadFont = font; }
+ static QFont defaultThreadFont() { return QFont(); }
+
static void setBoardListURL( QString url ) { getInstance() ->m_boardListURL = url; }
static QString& boardListURL() { return getInstance() ->m_boardListURL; }
static KCompletion* nameCompletion() { return & ( getInstance() ->m_nameCompletion ); }
static void addNameCompletionItem( QString& item ) { getInstance() ->m_nameCompletion.addItem( item ); }
static void setNameCompletionItems( QStringList list ) { getInstance() ->m_nameCompletion.setItems( list ); }
+
static QColor& threadColor() { return getInstance() ->m_threadColor; }
static void setThreadColor( QColor color ) { getInstance() ->m_threadColor = color; }
+ static QColor defaultThreadColor() { return QColor( "black" ); }
+
static QColor& threadBackgroundColor() { return getInstance() ->m_threadBackgroundColor; }
static void setThreadBackgroundColor( QColor color ) { getInstance() ->m_threadBackgroundColor = color; }
+ static QColor defaultThreadBackgroundColor() { return QColor( "white" ); }
+
static QColor& popupColor() { return getInstance() ->m_popupColor; }
static void setPopupColor( QColor color ) { getInstance() ->m_popupColor = color; }
+ static QColor defaultPopupColor() { return QColor( "black" ); }
+
static QColor& popupBackgroundColor() { return getInstance() ->m_popupBackgroundColor; }
static void setPopupBackgroundColor( QColor color ) { getInstance() ->m_popupBackgroundColor = color; }
+ static QColor defaultPopupBackgroundColor() { return QColor( "yellow" ); }
+
+ static QString& styleSheetText() { return getInstance() ->m_styleSheetText; }
+ static void setStyleSheetText( QString text ) { getInstance() ->m_styleSheetText = text; }
+ static QString defaultStyleSheetText();
+
static QStringList& asciiArtList() { return getInstance() ->m_asciiArtList; }
static void setAsciiArtList( QStringList list ) { getInstance() ->m_asciiArtList = list; }
+ static QStringList defaultAsciiArtList() { return QStringList(); }
+
static bool showMailAddress() { return getInstance() ->m_showMailAddress; }
- static void setShowMailAddresss( bool flag ) { getInstance() ->m_showMailAddress = flag; }
+ static void setShowMailAddress( bool flag ) { getInstance() ->m_showMailAddress = flag; }
+ static bool defaultShowMailAddress() { return false; }
+
static QStringList& aboneNameList() { return getInstance() ->m_aboneNameList; }
static void setAboneNameList( QStringList list ) { getInstance() ->m_aboneNameList = list; }
+ static QStringList defaultAboneNameList() { return QStringList(); }
+
static void addAboneName( QString name ) { getInstance() ->m_aboneNameList.append( name ); }
static QStringList& aboneIDList() { return getInstance() ->m_aboneIDList; }
+ static QStringList defaultAboneIDList() { return QStringList(); }
+
static void setAboneIDList( QStringList list ) { getInstance() ->m_aboneIDList = list; }
static void addAboneID( QString id ) { getInstance() ->m_aboneIDList.append( id ); }
+
static QStringList& aboneWordList() { return getInstance() ->m_aboneWordList; }
static void setAboneWordList( QStringList list ) { getInstance() ->m_aboneWordList = list; }
static void addAboneWord( QString word ) { getInstance() ->m_aboneWordList.append( word ); }
+ static QStringList defaultAboneWordList() { return QStringList(); }
+
static bool alwaysUseTab() { return getInstance() ->m_alwaysUseTab; }
static void setAlwaysUseTab( bool on ) { getInstance() ->m_alwaysUseTab = on; }
+ static bool defaultAlwaysUseTab() { return true; }
+
// MarkTime(0) == special value (after last access)
static int MarkTime() { return getInstance() ->m_MarkTime; }
static void setMarkTime( int value ) { getInstance() ->m_MarkTime = value; }
+ static int defaultMarkTime() { return 24; }
+
static int sortOrder() { return getInstance() ->m_sortOrder; }
static void setSortOrder( int order ) { getInstance() ->m_sortOrder = static_cast<SortOrder>( order ); }
+ static int defaultSortOrder() { return Order_Mark; }
+
static bool showAA() { return getInstance() ->m_showAA; }
static void setShowAA( bool on ) { getInstance() ->m_showAA = on; }
+ static bool defaultShowAA() { return false; }
+
static int showNum() { return getInstance() ->m_showNum; }
static void setShowNum( int num ) { getInstance() ->m_showNum = num; }
+ static int defaultShowNum() { return 100; }
+
static bool usePart() { return getInstance()->m_usePart; }
static void setUsePart( bool value ) { getInstance()->m_usePart = value; }
+ static bool defaultUsePart() { return true; }
+
static QStringList& partMimeList() { return getInstance()->m_partMimeList; }
static void setPartMimeList( const QStringList value ) { getInstance()->m_partMimeList = value; }
static void setPartMimeList( const QString& value )
{ getInstance()->m_partMimeList = QStringList::split( ',', value ); }
+ static QStringList defaultPartMimeList();
+
static QString userID() { return getInstance()->m_userID; }
static void setUserID( const QString id ) { getInstance()->m_userID = id; }
static QString password() { return getInstance()->m_password; }
case PARSEMODE_DOM:
- tmpelm = titlenode.appendChild( hdoc.createElement( "A" ) );
+ tmpelm = titlenode.appendChild( hdoc.createElement( "TD" ) );
+ tmpelm.setAttribute( "class", "res_title_number" );
+ tmpelm = tmpelm.appendChild( hdoc.createElement( "A" ) );
{
/* set anchor id = number */
tmpelm.setAttribute( "href", linkurl );
break;
case PARSEMODE_HTML:
- titletext += "<a href=\"" + linkurl +"\">";
+ titletext += "<td class=\"pop_res_title_number\"><a href=\"" + linkurl +"\">";
titletext += linkstr;
titletext +="</a>";
break;
switch( mode ){
case PARSEMODE_DOM:
- titlenode.appendChild( hdoc.createTextNode( tmpstr ) );
- namenode = titlenode.appendChild( hdoc.createElement( "B" ) );
+ tmpelm = titlenode.appendChild( hdoc.createElement( "TD" ) );
+ tmpelm.setAttribute( "class", "res_title_name" );
+ tmpelm.appendChild( hdoc.createTextNode( tmpstr ) );
+ namenode = tmpelm.appendChild( hdoc.createElement( "B" ) );
break;
case PARSEMODE_HTML:
+ titletext += "<td class=\"pop_res_title_name\">" + tmpstr;
+ break;
case PARSEMODE_TEXT:
titletext += tmpstr;
break;
if ( showMailAddress && str_address != QString::null ) {
tmpstr = QString( " [" ) + str_address + "]";
- titlenode.appendChild( hdoc.createTextNode( tmpstr ) );
+ namenode.appendChild( hdoc.createTextNode( tmpstr ) );
}
break;
switch(mode){
case PARSEMODE_DOM:
- titlenode.appendChild( hdoc.createTextNode( tmpstr ) );
+ tmpelm = titlenode.appendChild( hdoc.createElement( "TD" ) );
+ tmpelm.setAttribute( "class", "res_title_date" );
+ tmpelm.appendChild( hdoc.createTextNode( tmpstr ) );
break;
case PARSEMODE_HTML:
+ titletext += "<td class=\"pop_res_title_date\">" + tmpstr;
+ break;
+
case PARSEMODE_TEXT:
titletext += tmpstr;
break;
case PARSEMODE_DOM:
+ tmpelm = titlenode.appendChild( hdoc.createElement( "TD" ) );
+ tmpelm.setAttribute( "class", "res_title_id" );
if(tmpstr.left(3) != "ID:"){
- tmpelm = titlenode.appendChild( hdoc.createElement( "A" ) );
+ DOM::Element aelm = tmpelm.appendChild( hdoc.createElement( "A" ) );
{
- tmpelm.setAttribute( "href", "#idpop" + str_id );
- tmpelm.appendChild( hdoc.createTextNode( "ID" ) );
+ aelm.setAttribute( "href", "#idpop" + str_id );
+ aelm.appendChild( hdoc.createTextNode( "ID" ) );
}
}
- titlenode.appendChild( hdoc.createTextNode( tmpstr ) );
+ tmpelm.appendChild( hdoc.createTextNode( tmpstr ) );
break;
case PARSEMODE_HTML:
-
+ titletext += "<td class=\"pop_res_title_id\">";
if(tmpstr.left(3) != "ID:")
titletext += "<a href=\"#idpop" + str_id + "\">ID</a>";
titletext += tmpstr;
ParseMisc::parseTITLEdatText(PARSEMODE_HTML,num,showAddr,resdat,titletext);
ParseMisc::parseBODYdatText(PARSEMODE_HTML,resdat.body,bodytext);
- result = QString( "<dl><dt>" );
+ result = QString( "<table class=\"pop_res_title\"><tr>" );
result += titletext;
- result += "</dt><dd>";
+ result += "</tr></table><div class=\"pop_res_body\">";
result += bodytext;
- result += "<br/><br/></dd></dl>";
-
+ result += "</div>";
+
return result;
}
void redrawHTMLPart( const KURL& url, bool force );
void redrawAllHTMLPart( bool force );
void setFontOfHTMLPart();
+ void setStyleSheetOfHTMLPart();
/*--------------------------------*/
DOM::Element rootnode;
str = Kita::ParseMisc::utf8ToUnicode( KITAUTF8_KOKOYON2 );
- style = "background-color: #CCCCCC; text-align: center";
rootnode = m_hdoc.createElement( "DIV" );
{
+ rootnode.setAttribute( "class", "kokoyon" );
rootnode.setAttribute( "kita_type", "kokoyon" );
rootnode.setAttribute( "id", "kokomade_yonda" );
- rootnode.setAttribute( "style", style );
rootnode.appendChild( m_hdoc.createTextNode( str ) );
}
#include <krun.h>
#include <dom/html_element.h>
+#include <dom/html_misc.h>
#include <qcursor.h>
#include <qapplication.h>
connect( signalCollection, SIGNAL( redrawHTMLPart( const KURL&, bool ) ), SLOT( slotRedrawHTMLPart( const KURL& , bool) ));
connect( signalCollection, SIGNAL( redrawAllHTMLPart( bool ) ), SLOT( slotRedrawAllHTMLPart( bool ) ));
connect( signalCollection, SIGNAL( setFontOfHTMLPart() ), SLOT( slotSetFontOfHTMLPart() ));
+ connect( signalCollection, SIGNAL( setStyleSheetOfHTMLPart() ), SLOT( slotSetStyleSheetOfHTMLPart() ));
/* popup */
connect( this, SIGNAL( onURL( const QString& ) ), SLOT( slotOnURL( const QString& ) ));
void KitaHTMLPart::createHTMLDocument()
{
/* style */
+#if 0
QString style = QString( "style=\"font-size: %1pt; "
"font-family: %2; "
"color: %3; "
QString text = "<html><head></head>";
text += "<body " + style + "></body></html>";
+#else
+ QString style = QString( "style=\"font-size: %1pt; "
+ "font-family: %2; \"" )
+ .arg( KitaConfig::threadFont().pointSize() )
+ .arg( KitaConfig::threadFont().family() );
+ QString text = "<html><head><style>";
+ text += KitaConfig::styleSheetText();
+ text += "</style></head><body " + style + "></body></html>";
+#endif
setJScriptEnabled( false );
setJavaEnabled( false );
htmlDocument().applyChanges();
}
+/* public slot */
+void KitaHTMLPart::slotSetStyleSheetOfHTMLPart()
+{
+ /* [0]<html> -> [1]<head> -> [2]<style> */
+ DOM::HTMLCollection collection = htmlDocument().all();
+ DOM::HTMLElement elm;
+ unsigned int i;
+ for(i = 0 ; i < collection.length() ; i++)
+ {
+ elm = collection.item(i);
+ if(elm.tagName().upper() == "STYLE")
+ {
+ elm.setInnerText( KitaConfig::styleSheetText() );
+ htmlDocument().applyChanges();
+ break;
+ }
+ }
+}
/*---------------------------------------------------------------*/
/*---------------------------------------------------------------*/
.arg( KitaConfig::popupColor().name() )
.arg( KitaConfig::popupBackgroundColor().name() );
- QString text = "<html><head>";
- text += "</head><body " + style + ">";
+ QString text = "<html><head><style>";
+ text += KitaConfig::styleSheetText();
+ text += "</style></head><body class=\"pop\" " + style + ">";
text += str + "</body></html>";
if( m_textBrowser ) m_textBrowser->setText( text );
void slotRedrawHTMLPart( const KURL& datURL, bool force );
void slotRedrawAllHTMLPart( bool force );
void slotSetFontOfHTMLPart();
+ void slotSetStyleSheetOfHTMLPart();
/* cache */
void slotReceiveData();
QVBox * colorFrame = addVBoxPage( i18n( "Color" ), i18n( "Color" ) );
m_colorPage = new KitaColorPrefPage( colorFrame );
+ QVBox * styleSheetFrame = addVBoxPage( i18n( "StyleSheet" ), i18n( "StyleSheet" ) );
+ m_styleSheetPage = new Kita::StyleSheetPrefPage( styleSheetFrame );
+
QVBox * asciiArtFrame = addVBoxPage( i18n( "AsciiArt" ), i18n( "AsciiArt" ) );
m_asciiArtPage = new Kita::AsciiArtPrefPage( asciiArtFrame );
connect( m_fontPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
connect( m_colorPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
+ connect( m_styleSheetPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
connect( m_asciiArtPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
connect( m_uiPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
connect( m_abonePage, SIGNAL( changed() ), SLOT( slotChanged() ) );
m_colorPage->apply();
break;
case 2:
+ // style sheet
+ m_styleSheetPage->apply();
+ break;
+ case 3:
// asciiart
m_asciiArtPage->commit();
break;
- case 3:
+ case 4:
// user interface
m_uiPage->apply();
break;
- case 4:
+ case 5:
// abone
m_abonePage->apply();
break;
- case 5:
+ case 6:
// login
m_loginPage->apply();
break;
- case 6:
+ case 7:
// debug
break;
}
enableButtonApply( false );
}
+void KitaPreferences::slotDefault()
+{
+ switch( activePageIndex() )
+ {
+ case 0:
+ // font
+ m_fontPage->reset();
+ break;
+ case 1:
+ // color
+ m_colorPage->reset();
+ break;
+ case 2:
+ // style sheet
+ m_styleSheetPage->reset();
+ break;
+ case 3:
+ // asciiart
+ m_asciiArtPage->reset();
+ break;
+ case 4:
+ // user
+ m_uiPage->reset();
+ break;
+ case 5:
+ // abone
+ break;
+ case 6:
+ // login
+ break;
+ case 7:
+ // debug
+ break;
+ }
+ enableButtonApply( true );
+}
+
void KitaPreferences::slotChanged()
{
enableButtonApply( true );
{
m_fontPage->apply();
m_colorPage->apply();
+ m_styleSheetPage->apply();
m_asciiArtPage->commit();
m_uiPage->apply();
m_abonePage->apply();
m_threadFontchanged = FALSE;
}
+void KitaFontPrefPage::reset()
+{
+ QFont font;
+ font = KitaConfig::defaultFont();
+ fontButton->setText( font.family() + " " + QString::number( font.pointSize() ) );
+ fontButton->setFont( font );
+
+ font = KitaConfig::defaultThreadFont();
+ threadFontButton->setText( font.family() + " " + QString::number( font.pointSize() ) );
+ threadFontButton->setFont( font );
+ m_threadFontchanged = TRUE;
+}
+
void KitaFontPrefPage::slotFontButtonClicked()
{
QFont font = fontButton->font();
KitaConfig::setPopupBackgroundColor( popupBackgroundColorButton->color() );
}
+void KitaColorPrefPage::reset()
+{
+ popupColorButton->setColor( KitaConfig::defaultPopupColor() );
+ popupBackgroundColorButton->setColor( KitaConfig::defaultPopupBackgroundColor() );
+}
+
DebugPrefPage::DebugPrefPage( QWidget* parent )
: DebugPrefBase( parent )
{
}
}
+StyleSheetPrefPage::StyleSheetPrefPage( QWidget* parent )
+ : StyleSheetPrefBase( parent )
+{
+ styleSheetText->setText( KitaConfig::styleSheetText() );
+
+ connect( styleSheetText, SIGNAL( textChanged() ), SIGNAL( changed() ) );
+
+ Kita::SignalCollection* signalCollection = Kita::SignalCollection::getInstance();
+ connect( this, SIGNAL( setStyleSheetOfHTMLPart() ),
+ signalCollection, SIGNAL( setStyleSheetOfHTMLPart() ) );
+}
+
+void StyleSheetPrefPage::apply()
+{
+ QString text = styleSheetText->text();
+
+ if( text != KitaConfig::styleSheetText() )
+ {
+ KitaConfig::setStyleSheetText( text );
+ emit setStyleSheetOfHTMLPart();
+ }
+}
+
+void StyleSheetPrefPage::reset()
+{
+ styleSheetText->setText( KitaConfig::defaultStyleSheetText() );
+}
+
AsciiArtPrefPage::AsciiArtPrefPage( QWidget* parent )
: AsciiArtPrefBase( parent )
{
KitaConfig::setShowAA( showAACheckBox->isChecked() );
}
+void AsciiArtPrefPage::reset()
+{
+ asciiArtText->setText( KitaConfig::defaultAsciiArtList().join( "\n" ) );
+ showAACheckBox->setChecked( KitaConfig::defaultShowAA() );
+}
+
UIPrefPage::UIPrefPage( QWidget* parent )
: UIPrefBase( parent )
{
{
KitaConfig::setAlwaysUseTab( useTabCheckBox->isChecked() );
KitaConfig::setMarkTime( MarkTimespinBox->value() );
- KitaConfig::setShowMailAddresss( showMailCheckBox->isChecked() );
+ KitaConfig::setShowMailAddress( showMailCheckBox->isChecked() );
KitaConfig::setSortOrder( orderGroup->id( orderGroup->selected() ) );
KitaConfig::setShowNum( showNumSpin->value() );
KitaConfig::setUsePart( useExtPartCheck->isChecked() );
KitaConfig::setPartMimeList( partMimeList->text() );
}
+void UIPrefPage::reset()
+{
+ useTabCheckBox->setChecked( KitaConfig::defaultAlwaysUseTab() );
+ MarkTimespinBox->setValue( KitaConfig::defaultMarkTime() );
+ showMailCheckBox->setChecked( KitaConfig::defaultShowMailAddress() );
+ orderGroup->setButton( KitaConfig::defaultSortOrder() );
+ showNumSpin->setValue( KitaConfig::defaultShowNum() );
+ useExtPartCheck->setChecked( KitaConfig::defaultUsePart() );
+ partMimeList->setText( KitaConfig::defaultPartMimeList().join( "," ) );
+}
+
#include "pref.moc"
#include "kitafontprefbase.h"
#include "kitacolorprefbase.h"
+#include "stylesheetprefbase.h"
#include "asciiartprefbase.h"
#include "uiprefbase.h"
#include "debugprefbase.h"
namespace Kita
{
+ class StyleSheetPrefPage;
class AsciiArtPrefPage;
class UIPrefPage;
class AbonePrefPage;
private:
KitaFontPrefPage* m_fontPage;
KitaColorPrefPage* m_colorPage;
+ Kita::StyleSheetPrefPage* m_styleSheetPage;
Kita::AsciiArtPrefPage* m_asciiArtPage;
Kita::UIPrefPage* m_uiPage;
Kita::AbonePrefPage* m_abonePage;
private slots:
void slotChanged();
virtual void slotOk();
+ virtual void slotDefault();
signals:
void fontChanged( const QFont& );
public:
KitaFontPrefPage( QWidget* parent = 0 );
void apply();
+ void reset();
public slots:
void slotFontButtonClicked();
public:
KitaColorPrefPage( QWidget* parent = 0 );
void apply();
+ void reset();
signals:
void changed();
namespace Kita
{
+ class StyleSheetPrefPage : public StyleSheetPrefBase
+ {
+ Q_OBJECT
+ public:
+ StyleSheetPrefPage( QWidget* parent = 0 );
+ public:
+ void apply();
+ void reset();
+
+ signals:
+ void setStyleSheetOfHTMLPart();
+ void changed();
+ };
+
class AsciiArtPrefPage : public AsciiArtPrefBase
{
Q_OBJECT
AsciiArtPrefPage( QWidget* parent = 0 );
public slots:
void commit();
+ void reset();
signals:
void changed();
public:
UIPrefPage( QWidget* parent = 0 );
void apply();
+ void reset();
signals:
void changed();