# include "konq_aboutpage.h"
# include <tqtextcodec.h>
# include <tdeaboutdata.h>
# include <tdeapplication.h>
# include <kdebug.h>
# include <tdelocale.h>
# include <tdemessagebox.h>
# include <ksavefile.h>
# include <kstandarddirs.h>
# include <tdeaction.h>
# include <kiconloader.h>
# include <kurifilter.h>
# include <ktrader.h>
# include <tdeconfig.h>
# include <assert.h>
# include <tqfile.h>
# include <tqdir.h>
K_EXPORT_COMPONENT_FACTORY ( konq_aboutpage , KonqAboutPageFactory )
TDEInstance * KonqAboutPageFactory : : s_instance = 0 ;
TQString * KonqAboutPageFactory : : s_launch_html = 0 ;
TQString * KonqAboutPageFactory : : s_intro_html = 0 ;
TQString * KonqAboutPageFactory : : s_specs_html = 0 ;
TQString * KonqAboutPageFactory : : s_tips_html = 0 ;
TQString * KonqAboutPageFactory : : s_plugins_html = 0 ;
KonqAboutPageFactory : : KonqAboutPageFactory ( TQObject * parent , const char * name )
: KParts : : Factory ( parent , name )
{
s_instance = new TDEInstance ( " konqaboutpage " ) ;
}
KonqAboutPageFactory : : ~ KonqAboutPageFactory ( )
{
delete s_instance ;
s_instance = 0 ;
delete s_launch_html ;
s_launch_html = 0 ;
delete s_intro_html ;
s_intro_html = 0 ;
delete s_specs_html ;
s_specs_html = 0 ;
delete s_tips_html ;
s_tips_html = 0 ;
delete s_plugins_html ;
s_plugins_html = 0 ;
}
KParts : : Part * KonqAboutPageFactory : : createPartObject ( TQWidget * parentWidget , const char * widgetName ,
TQObject * parent , const char * name ,
const char * , const TQStringList & )
{
//KonqFrame *frame = tqt_dynamic_cast<KonqFrame *>( parentWidget );
//if ( !frame ) return 0;
return new KonqAboutPage ( //frame->childView()->mainWindow(),
parentWidget , widgetName , parent , name ) ;
}
TQString KonqAboutPageFactory : : loadFile ( const TQString & file )
{
TQString res ;
if ( file . isEmpty ( ) )
return res ;
TQFile f ( file ) ;
if ( ! f . open ( IO_ReadOnly ) )
return res ;
TQTextStream t ( & f ) ;
res = t . read ( ) ;
// otherwise all embedded objects are referenced as about:/...
TQString basehref = TQString : : fromLatin1 ( " <BASE HREF= \" file: " ) +
file . left ( file . findRev ( ' / ' ) ) +
TQString : : fromLatin1 ( " / \" > \n " ) ;
TQRegExp reg ( " <head> " ) ;
reg . setCaseSensitive ( FALSE ) ;
res . replace ( reg , " <head> \n \t " + basehref ) ;
return res ;
}
TQString KonqAboutPageFactory : : launch ( )
{
// FIXME: only regenerate launch page if kuriikwsfilterrc changed.
/*
if ( s_launch_html )
return * s_launch_html ;
*/
TQString res = loadFile ( locate ( " data " , " konqueror/about/launch.html " ) ) ;
if ( res . isEmpty ( ) )
return res ;
TDEIconLoader * iconloader = TDEGlobal : : iconLoader ( ) ;
int iconSize = iconloader - > currentSize ( TDEIcon : : Desktop ) ;
TQString home_icon_path = iconloader - > iconPath ( " kfm_home " , TDEIcon : : Desktop ) ;
TQString storage_icon_path = iconloader - > iconPath ( " system " , TDEIcon : : Desktop ) ;
TQString remote_icon_path = iconloader - > iconPath ( " network " , TDEIcon : : Desktop ) ;
TQString wastebin_icon_path = iconloader - > iconPath ( " trashcan_full " , TDEIcon : : Desktop ) ;
TQString applications_icon_path = iconloader - > iconPath ( " kmenu " , TDEIcon : : Desktop ) ;
TQString settings_icon_path = iconloader - > iconPath ( " kcontrol " , TDEIcon : : Desktop ) ;
TQString help_icon_path = iconloader - > iconPath ( " khelpcenter " , TDEIcon : : Desktop ) ;
TQString home_folder = TQDir : : homeDirPath ( ) ;
TQString continue_icon_path = TQApplication : : reverseLayout ( ) ? iconloader - > iconPath ( " 1leftarrow " , TDEIcon : : Small ) : iconloader - > iconPath ( " 1rightarrow " , TDEIcon : : Small ) ;
res = res . arg ( locate ( " data " , " tdeui/about/kde_infopage.css " ) ) ;
if ( kapp - > reverseLayout ( ) )
res = res . arg ( " @import \" %1 \" ; " ) . arg ( locate ( " data " , " tdeui/about/kde_infopage_rtl.css " ) ) ;
else
res = res . arg ( " " ) ;
// Try to split page in three. If it succeeds, insert the default search into the middle part.
TQStringList parts = TQStringList : : split ( " <!--search bar splitter--> " , res ) ;
if ( parts . count ( ) = = 3 ) {
TDEConfig config ( " kuriikwsfilterrc " , true /*read-only*/ , false /*no KDE globals*/ ) ;
config . setGroup ( " General " ) ;
TQString name = config . readEntry ( " DefaultSearchEngine " ) ;
KService : : Ptr service =
KService : : serviceByDesktopPath ( TQString ( " searchproviders/%1.desktop " ) . arg ( name ) ) ;
if ( service ) {
TQString searchBar = parts [ 1 ] ;
searchBar = searchBar
. arg ( iconSize ) . arg ( iconSize )
. arg ( service - > name ( ) )
. arg ( service - > property ( " Keys " ) . toStringList ( ) [ 0 ] )
;
res = parts [ 0 ] + searchBar + parts [ 2 ] ;
}
else res = parts [ 0 ] + parts [ 2 ] ;
}
res = res . arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror " ) )
. arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror is your file manager, web browser and universal document viewer. " ) )
. arg ( i18n ( " Starting Points " ) )
. arg ( i18n ( " Introduction " ) )
. arg ( i18n ( " Tips " ) )
. arg ( i18n ( " Specifications " ) )
. arg ( home_folder )
. arg ( home_icon_path )
. arg ( iconSize ) . arg ( iconSize )
. arg ( home_folder )
. arg ( i18n ( " Home Folder " ) )
. arg ( i18n ( " Your personal files " ) )
. arg ( storage_icon_path )
. arg ( iconSize ) . arg ( iconSize )
. arg ( i18n ( " Storage Media " ) )
. arg ( i18n ( " Disks and removable media " ) )
. arg ( remote_icon_path )
. arg ( iconSize ) . arg ( iconSize )
. arg ( i18n ( " Network Folders " ) )
. arg ( i18n ( " Shared files and folders " ) )
. arg ( wastebin_icon_path )
. arg ( iconSize ) . arg ( iconSize )
. arg ( i18n ( " Trash " ) )
. arg ( i18n ( " Browse and restore the trash " ) )
. arg ( applications_icon_path )
. arg ( iconSize ) . arg ( iconSize )
. arg ( i18n ( " Applications " ) )
. arg ( i18n ( " Installed programs " ) )
. arg ( settings_icon_path )
. arg ( iconSize ) . arg ( iconSize )
. arg ( i18n ( " Settings " ) )
. arg ( i18n ( " Desktop configuration " ) )
. arg ( continue_icon_path )
. arg ( TDEIcon : : SizeSmall ) . arg ( TDEIcon : : SizeSmall )
. arg ( i18n ( " Next: An Introduction to Konqueror " ) )
;
i18n ( " Search the Web " ) ; //i18n for possible future use
s_launch_html = new TQString ( res ) ;
return res ;
}
TQString KonqAboutPageFactory : : intro ( )
{
if ( s_intro_html )
return * s_intro_html ;
TQString res = loadFile ( locate ( " data " , " konqueror/about/intro.html " ) ) ;
if ( res . isEmpty ( ) )
return res ;
TDEIconLoader * iconloader = TDEGlobal : : iconLoader ( ) ;
TQString back_icon_path = TQApplication : : reverseLayout ( ) ? iconloader - > iconPath ( " forward " , TDEIcon : : Small ) : iconloader - > iconPath ( " back " , TDEIcon : : Small ) ;
Bring filenew, fileopen, fileprint, filequickprint, filesave, filesaveas, fileclose, editclear, editcopy, editcut, editdelete, editpaste, folder_new, and gohome icons into XDG compliance
10 years ago
TQString gohome_icon_path = iconloader - > iconPath ( " go-home " , TDEIcon : : Small ) ;
TQString continue_icon_path = TQApplication : : reverseLayout ( ) ? iconloader - > iconPath ( " 1leftarrow " , TDEIcon : : Small ) : iconloader - > iconPath ( " 1rightarrow " , TDEIcon : : Small ) ;
res = res . arg ( locate ( " data " , " tdeui/about/kde_infopage.css " ) ) ;
if ( kapp - > reverseLayout ( ) )
res = res . arg ( " @import \" %1 \" ; " ) . arg ( locate ( " data " , " tdeui/about/kde_infopage_rtl.css " ) ) ;
else
res = res . arg ( " " ) ;
res = res . arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror " ) )
. arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror is your file manager, web browser and universal document viewer. " ) )
. arg ( i18n ( " Starting Points " ) )
. arg ( i18n ( " Introduction " ) )
. arg ( i18n ( " Tips " ) )
. arg ( i18n ( " Specifications " ) )
. arg ( i18n ( " Konqueror makes working with and managing your files easy. You can browse "
" both local and networked folders while enjoying advanced features "
" such as the powerful sidebar and file previews. "
) )
. arg ( i18n ( " Konqueror is also a full featured and easy to use web browser which you "
" can use to explore the Internet. "
" Enter the address (e.g. <a href= \" http://www.trinitydesktop.org \" >http://www.trinitydesktop.org</A>) "
" of a web page you would like to visit in the location bar and press Enter, "
" or choose an entry from the Bookmarks menu. " ) )
. arg ( i18n ( " To return to the previous "
" location, press the back button <img width='16' height='16' src= \" %1 \" > "
" in the toolbar. " ) . arg ( back_icon_path ) )
. arg ( i18n ( " To quickly go to your Home folder press the "
" home button <img width='16' height='16' src= \" %1 \" >. " ) . arg ( gohome_icon_path ) )
. arg ( i18n ( " For more detailed documentation on Konqueror click <a href= \" %1 \" >here</a>. " )
. arg ( " exec:/khelpcenter " ) )
. arg ( i18n ( " <em>Tuning Tip:</em> If you want the Konqueror web browser to start faster, "
" you can turn off this information screen by clicking <a href= \" %1 \" >here</a>. You can re-enable it "
" by choosing the Help -> Konqueror Introduction menu option, and then pressing "
" Settings -> Save View Profile \" Web Browsing \" . " ) . arg ( " config:/disable_overview " ) )
. arg ( " <img width='16' height='16' src= \" %1 \" > " ) . arg ( continue_icon_path )
. arg ( i18n ( " Next: Tips & Tricks " ) )
;
s_intro_html = new TQString ( res ) ;
return res ;
}
TQString KonqAboutPageFactory : : specs ( )
{
if ( s_specs_html )
return * s_specs_html ;
TDEIconLoader * iconloader = TDEGlobal : : iconLoader ( ) ;
TQString res = loadFile ( locate ( " data " , " konqueror/about/specs.html " ) ) ;
TQString continue_icon_path = TQApplication : : reverseLayout ( ) ? iconloader - > iconPath ( " 1leftarrow " , TDEIcon : : Small ) : iconloader - > iconPath ( " 1rightarrow " , TDEIcon : : Small ) ;
if ( res . isEmpty ( ) )
return res ;
res = res . arg ( locate ( " data " , " tdeui/about/kde_infopage.css " ) ) ;
if ( kapp - > reverseLayout ( ) )
res = res . arg ( " @import \" %1 \" ; " ) . arg ( locate ( " data " , " tdeui/about/kde_infopage_rtl.css " ) ) ;
else
res = res . arg ( " " ) ;
res = res . arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror " ) )
. arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror is your file manager, web browser and universal document viewer. " ) )
. arg ( i18n ( " Starting Points " ) )
. arg ( i18n ( " Introduction " ) )
. arg ( i18n ( " Tips " ) )
. arg ( i18n ( " Specifications " ) )
. arg ( i18n ( " Specifications " ) )
. arg ( i18n ( " Konqueror is designed to embrace and support Internet standards. "
" The aim is to fully implement the officially sanctioned standards "
" from organizations such as the W3 and OASIS, while also adding "
" extra support for other common usability features that arise as "
" de facto standards across the Internet. Along with this support, "
" for such functions as favicons, Internet Keywords, and <A HREF= \" %1 \" >XBEL bookmarks</A>, "
" Konqueror also implements: " ) . arg ( " http://pyxml.sourceforge.net/topics/xbel/ " ) )
. arg ( i18n ( " Web Browsing " ) )
. arg ( i18n ( " Supported standards " ) )
. arg ( i18n ( " Additional requirements* " ) )
. arg ( i18n ( " <A HREF= \" %1 \" >DOM</A> (Level 1, partially Level 2) based "
" <A HREF= \" %2 \" >HTML 4.01</A> " ) . arg ( " http://www.w3.org/DOM " ) . arg ( " http://www.w3.org/TR/html4/ " ) )
. arg ( i18n ( " built-in " ) )
. arg ( i18n ( " <A HREF= \" %1 \" >Cascading Style Sheets</A> (CSS 1, partially CSS 2) " ) . arg ( " http://www.w3.org/Style/CSS/ " ) )
. arg ( i18n ( " built-in " ) )
. arg ( i18n ( " <A HREF= \" %1 \" >ECMA-262</A> Edition 3 (roughly equals JavaScript 1.5) " ) . arg ( " http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM " ) )
. arg ( i18n ( " JavaScript disabled (globally). Enable JavaScript <A HREF= \" %1 \" >here</A>. " ) . arg ( " exec:/tdecmshell tdehtml_java_js " ) )
. arg ( i18n ( " JavaScript enabled (globally). Configure JavaScript <A HREF= \\ \" %1 \\ \" >here</A>. " ) . arg ( " exec:/tdecmshell tdehtml_java_js " ) ) // leave the double backslashes here, they are necessary for javascript !
. arg ( i18n ( " Secure <A HREF= \" %1 \" >Java</A><SUP>®</SUP> support " ) . arg ( " http://java.sun.com " ) )
. arg ( i18n ( " JDK 1.2.0 (Java 2) compatible VM (<A HREF= \" %1 \" >Blackdown</A>, <A HREF= \" %2 \" >IBM</A> or <A HREF= \" %3 \" >Sun</A>) " )
. arg ( " http://www.blackdown.org " ) . arg ( " http://www.ibm.com " ) . arg ( " http://java.sun.com " ) )
. arg ( i18n ( " Enable Java (globally) <A HREF= \" %1 \" >here</A>. " ) . arg ( " exec:/tdecmshell tdehtml_java_js " ) ) // TODO Maybe test if Java is enabled ?
. arg ( i18n ( " Netscape Communicator<SUP>®</SUP> <A HREF= \" %4 \" >plugins</A> (for viewing <A HREF= \" %1 \" >Flash<SUP>®</SUP></A>, <A HREF= \" %2 \" >Real<SUP>®</SUP></A>Audio, <A HREF= \" %3 \" >Real<SUP>®</SUP></A>Video, etc.) " )
. arg ( " http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash " )
. arg ( " http://www.real.com " ) . arg ( " http://www.real.com " )
. arg ( " about:plugins " ) )
. arg ( i18n ( " built-in " ) )
. arg ( i18n ( " Secure Sockets Layer " ) )
. arg ( i18n ( " (TLS/SSL v2/3) for secure communications up to 168bit " ) )
. arg ( i18n ( " OpenSSL " ) )
. arg ( i18n ( " Bidirectional 16bit unicode support " ) )
. arg ( i18n ( " built-in " ) )
. arg ( i18n ( " AutoCompletion for forms " ) )
. arg ( i18n ( " built-in " ) )
. arg ( i18n ( " G E N E R A L " ) )
. arg ( i18n ( " Feature " ) )
. arg ( i18n ( " Details " ) )
. arg ( i18n ( " Image formats " ) )
. arg ( i18n ( " Transfer protocols " ) )
. arg ( i18n ( " HTTP 1.1 (including gzip/bzip2 compression) " ) )
. arg ( i18n ( " FTP " ) )
. arg ( i18n ( " and <A HREF= \" %1 \" >many more...</A> " ) . arg ( " exec:/tdecmshell ioslaveinfo " ) )
. arg ( i18n ( " URL-Completion " ) )
. arg ( i18n ( " Manual " ) )
. arg ( i18n ( " Popup " ) )
. arg ( i18n ( " (Short-) Automatic " ) )
. arg ( " <img width='16' height='16' src= \" %1 \" > " ) . arg ( continue_icon_path )
. arg ( i18n ( " <a href= \" %1 \" >Return to Starting Points</a> " ) . arg ( " launch.html " ) )
;
s_specs_html = new TQString ( res ) ;
return res ;
}
TQString KonqAboutPageFactory : : tips ( )
{
if ( s_tips_html )
return * s_tips_html ;
TQString res = loadFile ( locate ( " data " , " konqueror/about/tips.html " ) ) ;
if ( res . isEmpty ( ) )
return res ;
TDEIconLoader * iconloader = TDEGlobal : : iconLoader ( ) ;
TQString viewmag_icon_path =
iconloader - > iconPath ( " viewmag " , TDEIcon : : Small ) ;
TQString history_icon_path =
iconloader - > iconPath ( " history " , TDEIcon : : Small ) ;
TQString openterm_icon_path =
iconloader - > iconPath ( " openterm " , TDEIcon : : Small ) ;
TQString locationbar_erase_rtl_icon_path =
iconloader - > iconPath ( " clear_left " , TDEIcon : : Small ) ;
TQString locationbar_erase_icon_path =
iconloader - > iconPath ( " locationbar_erase " , TDEIcon : : Small ) ;
TQString window_fullscreen_icon_path =
Bring mail_forward, mail_new, mail_replyall, mail_reply, mail_send, player_pause, player_play, player_stop, player_rew, player_fwd, player_start, player_end, rotate_ccw, rotate_cw, window_fullscreen, window_nofullscreen, window_new, viewmagfit, viewmag+, viewmag1, and viewmag- icons into XDG compliance
10 years ago
iconloader - > iconPath ( " view-fullscreen " , TDEIcon : : Small ) ;
TQString view_left_right_icon_path =
iconloader - > iconPath ( " view_left_right " , TDEIcon : : Small ) ;
TQString continue_icon_path = TQApplication : : reverseLayout ( ) ? iconloader - > iconPath ( " 1leftarrow " , TDEIcon : : Small ) : iconloader - > iconPath ( " 1rightarrow " , TDEIcon : : Small ) ;
res = res . arg ( locate ( " data " , " tdeui/about/kde_infopage.css " ) ) ;
if ( kapp - > reverseLayout ( ) )
res = res . arg ( " @import \" %1 \" ; " ) . arg ( locate ( " data " , " tdeui/about/kde_infopage_rtl.css " ) ) ;
else
res = res . arg ( " " ) ;
res = res . arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror " ) )
. arg ( i18n ( " Conquer your Desktop! " ) )
. arg ( i18n ( " Konqueror is your file manager, web browser and universal document viewer. " ) )
. arg ( i18n ( " Starting Points " ) )
. arg ( i18n ( " Introduction " ) )
. arg ( i18n ( " Tips " ) )
. arg ( i18n ( " Specifications " ) )
. arg ( i18n ( " Tips & Tricks " ) )
. arg ( i18n ( " Use Internet-Keywords and Web-Shortcuts: by typing \" gg: Trinity Desktop \" one can search the Internet, "
" using Google, for the search phrase \" Trinity Desktop \" . There are a lot of "
" Web-Shortcuts predefined to make searching for software or looking "
" up certain words in an encyclopedia a breeze. You can even "
" <a href= \" %1 \" >create your own</a> Web-Shortcuts. " ) . arg ( " exec:/tdecmshell ebrowsing " ) )
. arg ( i18n ( " Use the magnifier button <img width='16' height='16' src= \" %1 \" > in the "
" toolbar to increase the font size on your web page. " ) . arg ( viewmag_icon_path ) )
. arg ( i18n ( " When you want to paste a new address into the Location toolbar you might want to "
" clear the current entry by pressing the black arrow with the white cross "
" <img width='16' height='16' src= \" %1 \" > in the toolbar. " )
. arg ( TQApplication : : reverseLayout ( ) ? locationbar_erase_rtl_icon_path : locationbar_erase_icon_path ) )
. arg ( i18n ( " To create a link on your desktop pointing to the current page, "
" simply drag the \" Location \" label that is to the left of the Location toolbar, drop it on to "
" the desktop, and choose \" Link \" . " ) )
. arg ( i18n ( " You can also find <img width='16' height='16' src= \" %1 \" > \" Full-Screen Mode \" "
" in the Settings menu. This feature is very useful for \" Talk \" "
" sessions. " ) . arg ( window_fullscreen_icon_path ) )
. arg ( i18n ( " Divide et impera (lat. \" Divide and conquer \" ) - by splitting a window "
" into two parts (e.g. Window -> <img width='16' height='16' src= \" %1 \" > Split View "
" Left/Right) you can make Konqueror appear the way you like. You "
" can even load some example view-profiles (e.g. Midnight Commander) "
" , or create your own ones. " ) . arg ( view_left_right_icon_path ) )
. arg ( i18n ( " Use the <a href= \" %1 \" >user-agent</a> feature if the website you are visiting "
" asks you to use a different browser "
" (and do not forget to send a complaint to the webmaster!) " ) . arg ( " exec:/tdecmshell useragent " ) )
. arg ( i18n ( " The <img width='16' height='16' src= \" %1 \" > History in your SideBar ensures "
" that you can keep track of the pages you have visited recently. " ) . arg ( history_icon_path ) )
. arg ( i18n ( " Use a caching <a href= \" %1 \" >proxy</a> to speed up your "
" Internet connection. " ) . arg ( " exec:/tdecmshell proxy " ) )
. arg ( i18n ( " Advanced users will appreciate the Konsole which you can embed into "
" Konqueror (Window -> <img width='16' height='16' SRC= \" %1 \" > Show "
" Terminal Emulator). " ) . arg ( openterm_icon_path ) )
. arg ( i18n ( " Thanks to <a href= \" %1 \" >DCOP</a> you can have full control over Konqueror using a script. "
) . arg ( " exec:/kdcop " ) )
. arg ( i18n ( " <img width='16' height='16' src= \" %1 \" > " ) . arg ( continue_icon_path ) )
. arg ( i18n ( " Next: Specifications " ) )
;
s_tips_html = new TQString ( res ) ;
return res ;
}
TQString KonqAboutPageFactory : : plugins ( )
{
if ( s_plugins_html )
return * s_plugins_html ;
TQString res = loadFile ( locate ( " data " , kapp - > reverseLayout ( ) ? " konqueror/about/plugins_rtl.html " : " konqueror/about/plugins.html " ) )
. arg ( i18n ( " Installed Plugins " ) )
. arg ( i18n ( " <td>Plugin</td><td>Description</td><td>File</td><td>Types</td> " ) )
. arg ( i18n ( " Installed " ) )
. arg ( i18n ( " <td>Mime Type</td><td>Description</td><td>Suffixes</td><td>Plugin</td> " ) ) ;
if ( res . isEmpty ( ) )
return res ;
s_plugins_html = new TQString ( res ) ;
return res ;
}
KonqAboutPage : : KonqAboutPage ( //KonqMainWindow *
TQWidget * parentWidget , const char * widgetName ,
TQObject * parent , const char * name )
: TDEHTMLPart ( parentWidget , widgetName , parent , name , BrowserViewGUI )
{
//m_mainWindow = mainWindow;
TQTextCodec * codec = TDEGlobal : : locale ( ) - > codecForEncoding ( ) ;
if ( codec )
setCharset ( codec - > name ( ) , true ) ;
else
setCharset ( " iso-8859-1 " , true ) ;
// about:blah isn't a tdeioslave -> disable View source
TDEAction * act = actionCollection ( ) - > action ( " viewDocumentSource " ) ;
if ( act )
act - > setEnabled ( false ) ;
}
KonqAboutPage : : ~ KonqAboutPage ( )
{
}
bool KonqAboutPage : : openURL ( const KURL & u )
{
kdDebug ( 1202 ) < < " now in KonqAboutPage::openURL( \" " < < u . url ( ) < < " \" ) " < < endl ;
if ( u . url ( ) = = " about:plugins " )
serve ( KonqAboutPageFactory : : plugins ( ) , " plugins " ) ;
else if ( ! u . query ( ) . isEmpty ( ) ) {
TQMap < TQString , TQString > queryItems = u . queryItems ( 0 ) ;
TQMap < TQString , TQString > : : ConstIterator query = queryItems . begin ( ) ;
TQString newUrl ;
if ( query . key ( ) = = " strigi " ) {
newUrl = KURIFilter : : self ( ) - > filteredURI ( query . key ( ) + " :?q= " + query . data ( ) ) ;
} else {
newUrl = KURIFilter : : self ( ) - > filteredURI ( query . key ( ) + " : " + query . data ( ) ) ;
}
kdDebug ( 1202 ) < < " scheduleRedirection( 0, \" " < < newUrl < < " \" ) " < < endl ;
scheduleRedirection ( 0 , newUrl ) ;
}
else serve ( KonqAboutPageFactory : : launch ( ) , " konqueror " ) ;
return true ;
}
bool KonqAboutPage : : openFile ( )
{
return true ;
}
void KonqAboutPage : : saveState ( TQDataStream & stream )
{
stream < < m_htmlDoc ;
stream < < m_what ;
}
void KonqAboutPage : : restoreState ( TQDataStream & stream )
{
stream > > m_htmlDoc ;
stream > > m_what ;
serve ( m_htmlDoc , m_what ) ;
}
void KonqAboutPage : : serve ( const TQString & html , const TQString & what )
{
m_what = what ;
begin ( KURL ( TQString ( " about:%1 " ) . arg ( what ) ) ) ;
write ( html ) ;
end ( ) ;
m_htmlDoc = html ;
}
void KonqAboutPage : : urlSelected ( const TQString & url , int button , int state , const TQString & target , KParts : : URLArgs _args )
{
KURL u ( url ) ;
if ( u . protocol ( ) = = " exec " )
{
TQStringList args = TQStringList : : split ( TQChar ( ' ' ) , url . mid ( 6 ) ) ;
TQString executable = args [ 0 ] ;
args . remove ( args . begin ( ) ) ;
TDEApplication : : tdeinitExec ( executable , args ) ;
return ;
}
if ( url = = TQString : : fromLatin1 ( " launch.html " ) )
{
emit browserExtension ( ) - > openURLNotify ( ) ;
serve ( KonqAboutPageFactory : : launch ( ) , " konqueror " ) ;
return ;
}
else if ( url = = TQString : : fromLatin1 ( " intro.html " ) )
{
emit browserExtension ( ) - > openURLNotify ( ) ;
serve ( KonqAboutPageFactory : : intro ( ) , " konqueror " ) ;
return ;
}
else if ( url = = TQString : : fromLatin1 ( " specs.html " ) )
{
emit browserExtension ( ) - > openURLNotify ( ) ;
serve ( KonqAboutPageFactory : : specs ( ) , " konqueror " ) ;
return ;
}
else if ( url = = TQString : : fromLatin1 ( " tips.html " ) )
{
emit browserExtension ( ) - > openURLNotify ( ) ;
serve ( KonqAboutPageFactory : : tips ( ) , " konqueror " ) ;
return ;
}
else if ( url = = TQString : : fromLatin1 ( " config:/disable_overview " ) )
{
if ( KMessageBox : : questionYesNo ( widget ( ) ,
i18n ( " Do you want to disable showing "
" the introduction in the webbrowsing profile? " ) ,
i18n ( " Faster Startup? " ) , i18n ( " Disable " ) , i18n ( " Keep " ) )
= = KMessageBox : : Yes )
{
TQString profile = locateLocal ( " data " , " konqueror/profiles/webbrowsing " ) ;
KSaveFile file ( profile ) ;
if ( file . status ( ) = = 0 ) {
TQCString content = " [Profile] \n "
" Name=Web-Browser " ;
fputs ( content . data ( ) , file . fstream ( ) ) ;
file . close ( ) ;
}
}
return ;
}
TDEHTMLPart : : urlSelected ( url , button , state , target , _args ) ;
}
# include "konq_aboutpage.moc"