epdfview: add epdfview recipe from OE by Manuel Teira

Poky Bugzilla #70 is a patch by Manuel Teira <manuel.teira@telefonica.net> to
add epdfview for sato. This patch updates the recipe to use the latest epdfview
and refreshes the patch for libowl change.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
This commit is contained in:
Joshua Lock 2010-07-13 12:35:13 +01:00
parent 9b7907fae2
commit 119b8bf270
6 changed files with 446 additions and 0 deletions

View File

@ -0,0 +1,12 @@
<ui>
<menubar name="MenuBar">
<menu name="TopMenu" action="Top">
<menu action="FileMenu">
<placeholder name="PrintPlaceHolder">
<separator/>
<menuitem name="Print" action="Print"/>
</placeholder>
</menu>
</menu>
</menubar>
</ui>

View File

@ -0,0 +1,57 @@
<ui>
<menubar name="MenuBar">
<menu name="TopMenu" action="Top">
<menu action="FileMenu">
<menuitem name="OpenFile" action="OpenFile"/>
<menuitem name="ReloadFile" action="ReloadFile"/>
<menuitem name="SaveFile" action="SaveFile"/>
<placeholder name="PrintPlaceHolder"/>
<separator/>
<menuitem name="Quit" action="Quit"/>
</menu>
<menu action="EditMenu">
<menuitem name="Find" action="Find"/>
<separator />
<menuitem name="Preferences" action="Preferences"/>
</menu>
<menu action="ViewMenu">
<menuitem name="ShowToolBar" action="ShowToolBar"/>
<menuitem name="ShowStatusBar" action="ShowStatusBar"/>
<menuitem name="ShowIndex" action="ShowIndex"/>
<separator/>
<menuitem name="ZoomIn" action="ZoomIn"/>
<menuitem name="ZoomOut" action="ZoomOut"/>
<menuitem name="ZoomFit" action="ZoomFit"/>
<menuitem name="ZoomWidth" action="ZoomWidth"/>
<separator />
<menuitem name="FullScreen" action="FullScreen"/>
<separator />
<menuitem name="RotateRight" action="RotateRight"/>
<menuitem name="RotateLeft" action="RotateLeft"/>
</menu>
<menu action="GoMenu">
<menuitem name="GoToFirstPage" action="GoToFirstPage"/>
<menuitem name="GoToPreviousPage" action="GoToPreviousPage"/>
<menuitem name="GoToNextPage" action="GoToNextPage"/>
<menuitem name="GoToLastPage" action="GoToLastPage"/>
</menu>
<menu action="HelpMenu">
<menuitem name="About" action="About"/>
</menu>
</menu>
</menubar>
<toolbar name="ToolBar">
<toolitem name="OpenFile" action="OpenFile"/>
<separator/>
<toolitem name="GoToPreviousPage" action="GoToPreviousPage"/>
<toolitem name="GoToNextPage" action="GoToNextPage"/>
<separator/>
<toolitem name="ZoomIn" action="ZoomIn"/>
<toolitem name="ZoomOut" action="ZoomOut"/>
<toolitem name="ZoomFit" action="ZoomFit"/>
<toolitem name="ZoomWidth" action="ZoomWidth"/>
</toolbar>
<accelerator name="SlashAccelerator" action="Slash"/>
</ui>

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Categories=Viewer;Office;GTK;
Comment=Lightweight PDF document viewer
Exec=epdfview %f
GenericName=PDF Viewer
Icon=accessories-text-editor
Name=PDF Viewer
MimeType=application/pdf;
Terminal=false
Type=Application

View File

@ -0,0 +1,325 @@
Index: epdfview-0.1.7/src/Makefile.am
===================================================================
--- epdfview-0.1.7.orig/src/Makefile.am 2010-07-13 12:30:44.014172385 +0100
+++ epdfview-0.1.7/src/Makefile.am 2010-07-13 12:30:48.780063260 +0100
@@ -58,7 +58,7 @@
main.cxx
libshell_cxxflags = -I$(top_srcdir)/src/gtk $(GTK2_CFLAGS)
-libshell_ldadd = $(GTK2_LIBS) $(top_builddir)/src/gtk/libshell-gtk.a
+libshell_ldadd = $(GTK2_LIBS) $(top_builddir)/src/gtk/libshell-gtk.a -lowl
epdfview_CXXFLAGS = \
-DLOCALEDIR='"$(datadir)/locale"' \
Index: epdfview-0.1.7/src/gtk/MainView.cxx
===================================================================
--- epdfview-0.1.7.orig/src/gtk/MainView.cxx 2010-07-13 12:30:44.014172385 +0100
+++ epdfview-0.1.7/src/gtk/MainView.cxx 2010-07-13 12:30:48.782124540 +0100
@@ -20,6 +20,7 @@
#include <string.h>
#include <gettext.h>
#include <gtk/gtk.h>
+#include <libowl/owlwindowmenu.h>
#include <epdfview.h>
#include "StockIcons.h"
#include "FindView.h"
@@ -86,6 +87,7 @@
// The actions for menus and toolbars.
static const GtkActionEntry g_NormalEntries[] =
{
+ { "Top", NULL, "", NULL, NULL, NULL },
{ "FileMenu", NULL, N_("_File"), NULL, NULL, NULL },
{ "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL },
{ "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL },
@@ -100,7 +102,7 @@
N_("Reload the current document"),
G_CALLBACK (main_window_reload_cb) },
- { "SaveFile", GTK_STOCK_SAVE, N_("_Save a Copy..."), "<control>S",
+ { "SaveFile", GTK_STOCK_SAVE, N_("_Save a Copy..."), "<control>W",
N_("Save a copy of the current document"),
G_CALLBACK (main_window_save_file_cb) },
@@ -110,11 +112,11 @@
G_CALLBACK (main_window_print_cb) },
#endif // HAVE_CUPS
- { "Quit", GTK_STOCK_CLOSE, N_("_Close"), "<control>W",
+ { "Quit", GTK_STOCK_CLOSE, N_("_Close"), "<control>Q",
N_("Close this window"),
G_CALLBACK (main_window_quit_cb) },
- { "Find", GTK_STOCK_FIND, N_("_Find"), "<control>F",
+ { "Find", GTK_STOCK_FIND, N_("_Find"), "<control>S",
N_("Find a word in the document"),
G_CALLBACK (main_window_find_cb) },
@@ -138,19 +140,19 @@
N_("Rotate the document 90 degrees counter-clockwise"),
G_CALLBACK (main_window_rotate_left_cb) },
- { "GoToFirstPage", GTK_STOCK_GOTO_FIRST, N_("_First Page"), "<control>Home",
+ { "GoToFirstPage", GTK_STOCK_GOTO_FIRST, N_("_First Page"), "<control>1",
N_("Go to the first page"),
G_CALLBACK (main_window_go_to_first_page_cb) },
- { "GoToNextPage", GTK_STOCK_GO_FORWARD, N_("_Next Page"), "<Shift>Page_Down",
+ { "GoToNextPage", GTK_STOCK_GO_FORWARD, N_("_Next Page"), "<Shift>Down",
N_("Go to the next page"),
G_CALLBACK (main_window_go_to_next_page_cb) },
- { "GoToPreviousPage", GTK_STOCK_GO_BACK, N_("_Previous Page"), "<Shift>Page_Up",
+ { "GoToPreviousPage", GTK_STOCK_GO_BACK, N_("_Previous Page"), "<Shift>Up",
N_("Go to the previous page"),
G_CALLBACK (main_window_go_to_previous_page_cb) },
- { "GoToLastPage", GTK_STOCK_GOTO_LAST, N_("_Last Page"), "<control>End",
+ { "GoToLastPage", GTK_STOCK_GOTO_LAST, N_("_Last Page"), "<control>0",
N_("Go to the last page"),
G_CALLBACK (main_window_go_to_last_page_cb) },
@@ -172,7 +174,7 @@
static GtkToggleActionEntry g_ToggleEntries[] =
{
- { "FullScreen", NULL, N_("F_ull screen"), "F11",
+ { "FullScreen", NULL, N_("F_ull screen"), "<control>F",
N_("Toggle full screen window"),
G_CALLBACK (main_window_fullscreen_cb), FALSE },
@@ -184,7 +186,7 @@
N_("Show or hide the statusbar"),
G_CALLBACK (main_window_show_statusbar_cb), TRUE },
- { "ShowIndex", NULL, N_("Show I_ndex"), "F9",
+ { "ShowIndex", NULL, N_("Show I_ndex"), "<control>I",
N_("Show or hide the document's outline"),
G_CALLBACK (main_window_show_index_cb), FALSE },
@@ -234,9 +236,8 @@
GtkAccelGroup *accelGroup = gtk_ui_manager_get_accel_group (m_UIManager);
gtk_window_add_accel_group (GTK_WINDOW (m_MainWindow), accelGroup);
// Add the menu bar and tool bar.
- GtkWidget *menuBar = gtk_ui_manager_get_widget (m_UIManager, "/MenuBar");
- gtk_box_pack_start (GTK_BOX (m_MainBox), menuBar, FALSE, FALSE, 0);
- gtk_widget_show (menuBar);
+ owl_set_window_menu_item (GTK_WINDOW (m_MainWindow),
+ GTK_MENU_ITEM(gtk_ui_manager_get_widget(m_UIManager, "/MenuBar/TopMenu")));
GtkWidget *toolBar = gtk_ui_manager_get_widget (m_UIManager, "/ToolBar");
gtk_box_pack_start (GTK_BOX (m_MainBox), toolBar, FALSE, FALSE, 0);
// Add the current page tool item.
@@ -285,7 +286,7 @@
MainView::activeZoomFit (gboolean active)
{
GtkAction *zoomFit =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomFit");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomFit");
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (zoomFit), active);
}
@@ -293,7 +294,7 @@
MainView::activeZoomWidth (gboolean active)
{
GtkAction *zoomWidth =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomWidth");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomWidth");
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (zoomWidth), active);
}
@@ -484,7 +485,7 @@
MainView::sensitiveFind (gboolean sensitive)
{
GtkAction *find =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/EditMenu/Find");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/EditMenu/Find");
gtk_action_set_sensitive (find, sensitive);
}
@@ -492,7 +493,7 @@
MainView::sensitiveGoToFirstPage (gboolean sensitive)
{
GtkAction *goToFirstPage = gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/GoMenu/GoToFirstPage");
+ "/MenuBar/TopMenu/GoMenu/GoToFirstPage");
gtk_action_set_sensitive (goToFirstPage, sensitive);
}
@@ -500,7 +501,7 @@
MainView::sensitiveGoToLastPage (gboolean sensitive)
{
GtkAction *goToLastPage =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/GoMenu/GoToLastPage");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/GoMenu/GoToLastPage");
gtk_action_set_sensitive (goToLastPage, sensitive);
}
@@ -508,7 +509,7 @@
MainView::sensitiveGoToNextPage (gboolean sensitive)
{
GtkAction *goToNextPage =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/GoMenu/GoToNextPage");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/GoMenu/GoToNextPage");
gtk_action_set_sensitive (goToNextPage, sensitive);
}
@@ -522,7 +523,7 @@
MainView::sensitiveGoToPreviousPage (gboolean sensitive)
{
GtkAction *goToPreviousPage = gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/GoMenu/GoToPreviousPage");
+ "/MenuBar/TopMenu/GoMenu/GoToPreviousPage");
gtk_action_set_sensitive (goToPreviousPage, sensitive);
}
@@ -530,7 +531,7 @@
MainView::sensitiveOpen (gboolean sensitive)
{
GtkAction *open =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/OpenFile");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/OpenFile");
gtk_action_set_sensitive (open, sensitive);
}
@@ -539,7 +540,7 @@
MainView::sensitivePrint (gboolean sensitive)
{
GtkAction *print = gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/FileMenu/PrintPlaceHolder/Print");
+ "/MenuBar/TopMenu/FileMenu/PrintPlaceHolder/Print");
gtk_action_set_sensitive (print, sensitive);
}
#endif // HAVE_CUPS
@@ -548,7 +549,7 @@
MainView::sensitiveReload (gboolean sensitive)
{
GtkAction *reload =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/ReloadFile");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/ReloadFile");
gtk_action_set_sensitive (reload, sensitive);
}
@@ -556,7 +557,7 @@
MainView::sensitiveRotateLeft (gboolean sensitive)
{
GtkAction *rotateLeft =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/RotateLeft");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/RotateLeft");
gtk_action_set_sensitive (rotateLeft, sensitive);
}
@@ -564,7 +565,7 @@
MainView::sensitiveRotateRight (gboolean sensitive)
{
GtkAction *rotateRight = gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/RotateRight");
+ "/MenuBar/TopMenu/ViewMenu/RotateRight");
gtk_action_set_sensitive (rotateRight, sensitive);
}
@@ -572,7 +573,7 @@
MainView::sensitiveSave (gboolean sensitive)
{
GtkAction *save =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/SaveFile");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/SaveFile");
gtk_action_set_sensitive (save, sensitive);
}
@@ -586,7 +587,7 @@
MainView::sensitiveZoomIn (gboolean sensitive)
{
GtkAction *zoomIn =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomIn");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomIn");
gtk_action_set_sensitive (zoomIn, sensitive);
}
@@ -594,7 +595,7 @@
MainView::sensitiveZoomOut (gboolean sensitive)
{
GtkAction *zoomOut =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomOut");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomOut");
gtk_action_set_sensitive (zoomOut, sensitive);
}
@@ -602,7 +603,7 @@
MainView::sensitiveZoomFit (gboolean sensitive)
{
GtkAction *zoomFit =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomFit");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomFit");
gtk_action_set_sensitive (zoomFit, sensitive);
}
@@ -610,7 +611,7 @@
MainView::sensitiveZoomWidth (gboolean sensitive)
{
GtkAction *zoomWidth =
- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomWidth");
+ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomWidth");
gtk_action_set_sensitive (zoomWidth, sensitive);
}
@@ -654,7 +655,7 @@
}
GtkAction *showIndex =
gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ShowIndex");
+ "/MenuBar/TopMenu/ViewMenu/ShowIndex");
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (showIndex), show);
}
@@ -695,13 +696,13 @@
gtk_window_fullscreen (GTK_WINDOW (m_MainWindow));
// Hide the menu bar, tool bar, status bar and the index bar. Then
// zoom to fit.
- gtk_widget_hide (menuBar);
+// gtk_widget_hide (menuBar);
gtk_widget_hide (toolBar);
gtk_widget_hide (m_StatusBar);
gtk_widget_hide (m_Sidebar);
gtk_toggle_action_set_active (
GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ZoomFit")), TRUE);
+ "/MenuBar/TopMenu/ViewMenu/ZoomFit")), TRUE);
}
else
{
@@ -711,15 +712,15 @@
// enabled.
main_window_show_index_cb (
GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ShowIndex")),
+ "/MenuBar/TopMenu/ViewMenu/ShowIndex")),
(gpointer)m_Pter);
main_window_show_statusbar_cb (
GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ShowStatusBar")),
+ "/MenuBar/TopMenu/ViewMenu/ShowStatusBar")),
(gpointer)m_Pter);
main_window_show_toolbar_cb (
GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ShowToolBar")),
+ "/MenuBar/TopMenu/ViewMenu/ShowToolBar")),
(gpointer)m_Pter);
}
}
@@ -814,7 +815,7 @@
MainView::showStatusbar (gboolean show)
{
GtkAction *toggleAction = gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ShowStatusBar");
+ "/MenuBar/TopMenu/ViewMenu/ShowStatusBar");
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (toggleAction), show);
if ( show )
{
@@ -830,7 +831,7 @@
MainView::showToolbar (gboolean show)
{
GtkAction *toggleAction = gtk_ui_manager_get_action (m_UIManager,
- "/MenuBar/ViewMenu/ShowToolBar");
+ "/MenuBar/TopMenu/ViewMenu/ShowToolBar");
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (toggleAction), show);
GtkWidget *toolBar = gtk_ui_manager_get_widget (m_UIManager, "/ToolBar");
if ( show )

View File

@ -0,0 +1,21 @@
DESCRIPTION = "A minimal PDF viewer based on gtk and poppler"
HOMEPAGE = "http://trac.emma-soft.com/epdfview/"
LICENSE = "GPLv2"
SECTION = "x11/applications"
DEPENDS = "poppler gtk+ libowl"
PR="r0"
SRC_URI = "http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
file://owl-menus.patch \
file://epdfview.desktop \
file://epdfview-ui.xml \
file://epdfview-ui-print.xml"
inherit autotools gettext
do_install_prepend() {
install ${WORKDIR}/epdfview-ui.xml ${S}/data/epdfview-ui.xml
install ${WORKDIR}/epdfview-ui-print.xml ${S}/data/epdfview-ui-print.xml
install ${WORKDIR}/epdfview.desktop ${S}/data/epdfview.desktop
}

View File

@ -0,0 +1,21 @@
DESCRIPTION = "A minimal PDF viewer based on gtk and poppler"
HOMEPAGE = "http://trac.emma-soft.com/epdfview/"
LICENSE = "GPLv2"
SECTION = "x11/applications"
DEPENDS = "poppler gtk+"
PR="r0"
SRC_URI = "http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
file://owl-menus.patch;patch=1 \
file://epdfview.desktop \
file://epdfview-ui.xml \
file://epdfview-ui-print.xml"
inherit autotools gettext
do_install_prepend() {
install ${WORKDIR}/epdfview-ui.xml ${S}/data/epdfview-ui.xml
install ${WORKDIR}/epdfview-ui-print.xml ${S}/data/epdfview-ui-print.xml
install ${WORKDIR}/epdfview.desktop ${S}/data/epdfview.desktop
}