Ported to new architecture. No actions in the GUI though. Simon ? :-)

I used actionCollection() :-)))

svn path=/trunk/kdegraphics/kdvi/; revision=38672
remotes/origin/kdvi-2.0
David Faure 27 years ago
parent f816b117ea
commit 6113c0dddf
  1. 17
      Makefile.am
  2. 17
      kdvi_part.rc
  3. 178
      kdvi_view.cpp
  4. 58
      kdvi_view.h

@ -6,20 +6,20 @@ INCLUDES= $(all_includes) -Ikpathsea
# claim, which subdirectories you want to install
SUBDIRS = kpathsea . pix
# you can add here more. This one gets installed
# you can add here more. This one gets installed
bin_PROGRAMS = kdvi
lib_LTLIBRARIES=libkdvi.la
noinst_PROGRAMS = squeeze
# just to make sure, automake makes them
METASOURCES = USE_AUTOMOC
# just to make sure, automake makes them
METASOURCES = AUTO
# Which sources should be compiled for kdvi.
libkdvi_la_SOURCES = kdvi.cpp dviwin.cpp marklist.cpp prefs.cpp print.cpp\
printData.cpp printSetup.cpp printSetupData.cpp pushbutton.cpp\
scrbox.cpp kdvi_miniwidget.cpp kdvi_view.cpp kbrowser.moc.cc\
psheader.c dvi_draw.c dvi_init.c font-open.c gf.c new.c pk.c psgs.c\
special.c util.c vf.c konq_progressproxy.cc
special.c util.c vf.c # konq_progressproxy.cc
kdvi_SOURCES = main.cpp
@ -27,7 +27,7 @@ kdvi_SOURCES = main.cpp
squeeze_SOURCES = squeeze.c
# the library search path
libkdvi_la_LDFLAGS = $(all_libraries) -avoid-version -module
libkdvi_la_LDFLAGS = $(all_libraries) -avoid-version -module
libkdvi_la_LIBADD = $(LIB_KFILE) -lkparts kpathsea/libkpathsea.la
kdvi_LDFLAGS = $(all_libraries) $(KDE_RPATH)
@ -36,14 +36,17 @@ kdvi_LDADD = libkdvi.la
## this option you can leave out. Just, if you use "make dist", you need it
noinst_HEADERS = c-openmx.h dvi.h dviwin.h kdvi.h marklist.h oconfig.h\
prefs.h print.h printData.h printSetup.h printSetupData.h pushbutton.h\
scrbox.h xdvi.h kdvi_miniwidget.h kdvi_view.h konq_progressproxy.h
scrbox.h xdvi.h kdvi_miniwidget.h kdvi_view.h # konq_progressproxy.h
messages:
$(XGETTEXT) -C -ki18n -x $(includedir)/kde.pot *.cpp && mv messages.po $(podir)/kdvi.pot
apps_DATA = kdvi.desktop
psheader.c: psheader.txt squeeze
partdir = $(kde_datadir)/kdvi
part_DATA = kdvi_part.rc
psheader.c: psheader.txt squeeze
./squeeze $(srcdir)/psheader.txt $@
kbrowser.moc.cc: $(kde_includes)/kbrowser.h

@ -0,0 +1,17 @@
<!DOCTYPE kpartgui>
<kpartgui name="KDVI">
<MenuBar>
<Menu name="edit_menu">
<Action name="firstPage"/>
<Action name="prevPage"/>
<Action name="goForward"/>
<Action name="nextPage"/>
<Action name="lastPage"/>
<Action name="nextShrink"/>
<Action name="selectSmall"/>
<Action name="selectLarge"/>
<Action name="prevShrink"/>
</Menu>
</MenuBar>
<StatusBar/>
</kpartgui>

@ -1,24 +1,14 @@
#include "kdvi_view.h"
#include "konq_progressproxy.h"
//#include "konq_progressproxy.h"
#include "kdvi_miniwidget.h"
#include <kinstance.h>
#include <klocale.h>
#include <kiconloader.h>
#include <kio_job.h>
#include <kio_cache.h>
#include <kaction.h>
#include <kurl.h>
#include <kdebug.h>
#include <qfile.h>
#include <config.h>
#ifdef HAVE_PATHS_H
#include <paths.h>
#endif
#ifndef _PATH_TMP
#define _PATH_TMP "/tmp/"
#endif
extern "C"{
void *init_libkdvi()
{
@ -43,7 +33,7 @@ KDVIFactory::~KDVIFactory()
QObject* KDVIFactory::create(QObject *parent , const char *name , const char*,
const QStringList & )
{
QObject *obj = new KDVIKonqView( (QWidget *)parent, name );
QObject *obj = new KDVIPart( (QWidget *)parent, name );
emit objectCreated( obj );
return obj;
}
@ -55,163 +45,85 @@ KInstance *KDVIFactory::instance()
return s_instance;
}
KDVIKonqView::KDVIKonqView( QWidget *parent, const char *name )
: BrowserView( parent, name )
KDVIPart::KDVIPart( QWidget *parent, const char *name )
: KParts::ReadOnlyPart( parent, name )
{
urlStr = "";
w = new KDVIMiniWidget(NULL, this );
setInstance( KDVIFactory::instance() );
w = new KDVIMiniWidget(NULL, parent );
dviWindow *dviwin = w->window();
jobId = 0;
setWidget( w );
startAct = new KAction(i18n("Go to first page"),
QIconSet(BarIcon("start", KDVIFactory::instance())) ,
0, dviwin, SLOT(firstPage() ), this);
0, dviwin, SLOT(firstPage() ), actionCollection(), "firstPage");
backAct = new KAction(i18n("Go to previous page"),
QIconSet(BarIcon("back", KDVIFactory::instance())) ,
0, dviwin, SLOT(prevPage() ), this);
0, dviwin, SLOT(prevPage() ), actionCollection(), "prevPage");
forPageAct = new KAction(i18n("Go down then top of next page"),
QIconSet(BarIcon("forwpage", KDVIFactory::instance())) ,
0, dviwin, SLOT(goForward() ), this);
0, dviwin, SLOT(goForward() ), actionCollection(), "goForward");
forwardAct = new KAction(i18n("Go to next page"),
QIconSet(BarIcon("forward", KDVIFactory::instance())) ,
0, dviwin, SLOT(nextPage() ), this);
0, dviwin, SLOT(nextPage() ), actionCollection(), "nextPage");
finishAct = new KAction(i18n("Go to last page"),
QIconSet(BarIcon("finish", KDVIFactory::instance())) ,
0, dviwin, SLOT(lastPage() ), this);
0, dviwin, SLOT(lastPage() ), actionCollection(), "lastPage");
zoomOutAct = new KAction(i18n("Decrease magnification"),
QIconSet(BarIcon("viewmag-", KDVIFactory::instance())) ,
0, dviwin, SLOT(nextShrink() ), this);
0, dviwin, SLOT(nextShrink() ), actionCollection(), "nextShrink");
smallAct = new KAction(i18n("Small text"),
QIconSet(BarIcon("smalltext", KDVIFactory::instance())) ,
0, w, SLOT(selectSmall() ), this);
0, w, SLOT(selectSmall() ), actionCollection(), "selectSmall");
largeAct = new KAction(i18n("Large text"),
QIconSet(BarIcon("largetext", KDVIFactory::instance())) ,
0, w, SLOT(selectLarge() ), this);
0, w, SLOT(selectLarge() ), actionCollection(), "selectLarge");
zoomInAct = new KAction(i18n("Increase magnification"),
QIconSet(BarIcon("viewmag+", KDVIFactory::instance())) ,
0, dviwin, SLOT(prevShrink() ), this);
actions()->append(BrowserView::ViewAction(startAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(backAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(forPageAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(forwardAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(finishAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(zoomOutAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(smallAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(largeAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
actions()->append(BrowserView::ViewAction(zoomInAct, BrowserView::MenuEdit
| BrowserView::ToolBar ) );
(void)new KDVIPrintingExtension( this );
connect(w, SIGNAL(statusMessage(const QString &)), this,
SLOT(slotMessage(const QString &)));
connect(w->window(), SIGNAL(statusChange(const QString &)), this,
SLOT(slotMessage(const QString &)));
}
KDVIKonqView::~KDVIKonqView()
{
stop();
warning("In KDVIKonqView destructor");
KURL destURL(destStr);
if(QFile::exists(destURL.path()))
QFile::remove(destURL.path());
}
void KDVIKonqView::openURL(const QString &url, bool, int, int)
{
urlStr = url;
KIOCachedJob *iojob = new KIOCachedJob;
iojob->setGUImode(KIOJob::NONE);
jobId = iojob->id();
connect(iojob, SIGNAL(sigFinished(int)), this,
SLOT(slotFinished(int)));
connect(iojob, SIGNAL(sigRedirection(int, const char *)), this,
SLOT(slotRedirection(int, const char *)));
connect(iojob, SIGNAL(sigError(int, int, const char *)), this,
SLOT(slotError(int, int, const char *)));
(void)new KonqProgressProxy( this, iojob );
destStr.sprintf("file:"_PATH_TMP"/kdvi%i", time( 0L ));
iojob->copy(url.latin1(), destStr.latin1());
emit started();
}
QString KDVIKonqView::url()
{
return urlStr;
}
0, dviwin, SLOT(prevShrink() ), actionCollection(), "prevShrink");
int KDVIKonqView::xOffset()
{
return 0;
}
int KDVIKonqView::yOffset()
{
return 0;
}
void KDVIKonqView::stop()
{
if (jobId){
KIOJob *job = KIOJob::find(jobId);
if (job)
job->kill();
jobId = 0;
}
}
m_extension = new KDVIBrowserExtension( this );
void KDVIKonqView::slotMessage(const QString &s)
{
emit setStatusBarText(s);
}
connect(w, SIGNAL(statusMessage(const QString &)),
m_extension, SIGNAL( setStatusBarText( const QString & ) ) );
connect(w->window(), SIGNAL(statusChange(const QString &)),
m_extension, SIGNAL( setStatusBarText( const QString & ) ) );
void KDVIKonqView::slotFinished( int )
{
setXMLFile( "kdvi_part.rc" );
KURL destURL(destStr);
if(!QFile::exists(destURL.path()))
warning("KDVIKonqView: dest file %s does not exist!",
destURL.path().latin1());
else
w->openFile(destURL.path());
jobId = 0;
emit completed();
}
void KDVIKonqView::slotRedirection( int, const char *url )
KDVIPart::~KDVIPart()
{
emit setLocationBarURL(QString(url));
}
void KDVIKonqView::slotError( int, int, const char * )
bool KDVIPart::openFile()
{
stop();
emit canceled();
if(!QFile::exists(m_file))
{
kDebugWarning("KDVIKonqView: dest file %s does not exist!",
m_file.latin1());
return false;
}
else
{
w->openFile(m_file);
return true;
}
}
void KDVIKonqView::resizeEvent( QResizeEvent * )
/////////
KDVIBrowserExtension::KDVIBrowserExtension( KDVIPart *parent ) :
KParts::BrowserExtension( parent, "KDVIBrowserExtension" )
{
w->setGeometry(0, 0, width(), height() );
emit enableAction( "print", true );
}
void KDVIPrintingExtension::print()
void KDVIBrowserExtension::print()
{
((KDVIKonqView *)parent())->miniWidget()->filePrint();
((KDVIPart *)parent())->miniWidget()->filePrint();
}
#include "kdvi_view.moc"

@ -4,9 +4,10 @@
#include <kbrowser.h>
#include <klibloader.h>
class KAction;
class KInstance;
class KDVIMiniWidget;
class KDVIKonqView;
class KDVIBrowserExtension;
class KDVIFactory : public KLibFactory
{
@ -25,51 +26,48 @@ private:
static KInstance *s_instance;
};
class KDVIPrintingExtension : public PrintingExtension
class KDVIPart: public KParts::ReadOnlyPart
{
Q_OBJECT
public:
KDVIPrintingExtension( QObject *parent ) :
PrintingExtension( parent, "KDVIPrintingExtension" ) {}
virtual void print();
};
class KDVIKonqView: public BrowserView
{
Q_OBJECT
public:
KDVIKonqView( QWidget *parent, const char *name );
virtual ~KDVIKonqView();
virtual void openURL(const QString &url, bool reload = false,
int xOffset = 0, int yOffset = 0);
virtual QString url();
virtual int xOffset();
virtual int yOffset();
virtual void stop();
KDVIPart( QWidget *parent = 0, const char *name = 0 );
virtual ~KDVIPart();
KDVIMiniWidget *miniWidget() const { return w; }
protected:
// reimplemented from ReadOnlyPart
virtual bool openFile();
protected slots:
void slotMessage(const QString &s);
void slotFinished(int);
void slotRedirection(int, const char *);
void slotError(int, int, const char *);
protected:
virtual void resizeEvent(QResizeEvent *);
private:
int xOff, yOff;
QString urlStr, destStr;
KDVIMiniWidget *w;
int jobId;
KDVIBrowserExtension * m_extension;
KAction *startAct, *backAct, *forPageAct, *forwardAct,
*finishAct, *zoomOutAct, *smallAct, *largeAct, *zoomInAct;
};
class KDVIBrowserExtension : public KParts::BrowserExtension
{
Q_OBJECT
friend class KDVIPart; // emits our signals
public:
KDVIBrowserExtension( KDVIPart *parent );
virtual ~KDVIBrowserExtension() {}
/*
virtual void setXYOffset( int x, int y );
virtual int xOffset();
virtual int yOffset();
*/
public slots:
// Automatically detected by konqueror
void print();
};
#endif

Loading…
Cancel
Save