rabbit-qt 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/COPYING +1 -0
- data/GPL +339 -0
- data/Gemfile +37 -0
- data/README.md +87 -0
- data/Rakefile +285 -0
- data/bin/rabbirc +86 -0
- data/bin/rabbit +22 -0
- data/bin/rabbit-command +97 -0
- data/bin/rabbit-slide +22 -0
- data/bin/rabbit-theme +22 -0
- data/data/account.kou.gpg +3 -0
- data/data/rabbit/image/clear-blue-images/clear-blue-headline-background.png +0 -0
- data/data/rabbit/image/clear-blue-images/clear-blue-icon.png +0 -0
- data/data/rabbit/image/clear-blue-images/clear-blue-images.rb +0 -0
- data/data/rabbit/image/clear-blue-images/property.rb +4 -0
- data/data/rabbit/image/cozmixng-images/cozmixchu.png +0 -0
- data/data/rabbit/image/cozmixng-images/cozmixng-images.rb +2 -0
- data/data/rabbit/image/cozmixng-images/powered-by-cozmixng.png +0 -0
- data/data/rabbit/image/cozmixng-images/property.rb +4 -0
- data/data/rabbit/image/dark-gradation-images/background-gradation.png +0 -0
- data/data/rabbit/image/dark-gradation-images/dark-gradation-images.rb +2 -0
- data/data/rabbit/image/dark-gradation-images/property.rb +4 -0
- data/data/rabbit/image/debian-images/bottom.png +0 -0
- data/data/rabbit/image/debian-images/debian-images.rb +2 -0
- data/data/rabbit/image/debian-images/debian-logo-pink.png +0 -0
- data/data/rabbit/image/debian-images/debian-logo.png +0 -0
- data/data/rabbit/image/debian-images/debian-whirl.png +0 -0
- data/data/rabbit/image/debian-images/item1.png +0 -0
- data/data/rabbit/image/debian-images/property.rb +4 -0
- data/data/rabbit/image/debian-images/top.png +0 -0
- data/data/rabbit/image/nari-images/chibi_nari.png +0 -0
- data/data/rabbit/image/nari-images/gc_kun.png +0 -0
- data/data/rabbit/image/nari-images/nari-goal-flag.png +0 -0
- data/data/rabbit/image/nari-images/nari-images.rb +2 -0
- data/data/rabbit/image/nari-images/nari-start-flag.png +0 -0
- data/data/rabbit/image/nari-images/property.rb +4 -0
- data/data/rabbit/image/rabbit-images/blue-item.png +0 -0
- data/data/rabbit/image/rabbit-images/close-quote-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/close-quote-brown.png +0 -0
- data/data/rabbit/image/rabbit-images/close-quote-light-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/goal-flag.png +0 -0
- data/data/rabbit/image/rabbit-images/green-item.png +0 -0
- data/data/rabbit/image/rabbit-images/kame.png +0 -0
- data/data/rabbit/image/rabbit-images/lavie-icon.png +0 -0
- data/data/rabbit/image/rabbit-images/lavie-with-logo.png +0 -0
- data/data/rabbit/image/rabbit-images/lavie.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-alice.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-butler-rabbit.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-horizontal-bar.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-kame-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-tanu-kitaro.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-usa-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-usagi.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-vertical-bar.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-yukidaru-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/open-quote-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/open-quote-brown.png +0 -0
- data/data/rabbit/image/rabbit-images/open-quote-light-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/property.rb +4 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-green.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-heads.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-pink.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner2.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-images.rb +2 -0
- data/data/rabbit/image/rabbit-images/rabbit-pink-logo.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-pink-logo2.png +0 -0
- data/data/rabbit/image/rabbit-images/red-item.png +0 -0
- data/data/rabbit/image/rabbit-images/red-item2.png +0 -0
- data/data/rabbit/image/rabbit-images/start-flag.png +0 -0
- data/data/rabbit/image/rabbit-images/tanu-kitaro.png +0 -0
- data/data/rabbit/image/rabbit-images/usa-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/usagi.png +0 -0
- data/data/rabbit/image/rabbit-images/yukiusa.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-bar.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-bar.svg +153 -0
- data/data/rabbit/image/ranguba-images/ranguba-images.rb +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-item-mark-mini.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-item-mark.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-item-mark.svg +400 -0
- data/data/rabbit/image/ranguba-images/ranguba-mark.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-mark.svg +587 -0
- data/data/rabbit/image/ruby-images/property.rb +4 -0
- data/data/rabbit/image/ruby-images/ruby-images.rb +2 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle-logo.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon.png +0 -0
- data/data/rabbit/image/rubykaigi2011-images/property.rb +4 -0
- data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg +0 -0
- data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg +0 -0
- data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-images.rb +2 -0
- data/doc/_config.yml +29 -0
- data/doc/_includes/en.menu.html +8 -0
- data/doc/_includes/ja.menu.html +8 -0
- data/doc/_layouts/en.html +48 -0
- data/doc/_layouts/ja.html +48 -0
- data/doc/_layouts/skeleton.html +85 -0
- data/doc/_plugins/converters/hiki.rb +27 -0
- data/doc/_plugins/converters/markdown.rb +15 -0
- data/doc/_plugins/converters/rd.rb +73 -0
- data/doc/_plugins/support_symlink.rb +11 -0
- data/doc/css/rabbit.css +368 -0
- data/doc/css/syntax.scss +67 -0
- data/doc/en/development.rd +81 -0
- data/doc/en/faq.rd +152 -0
- data/doc/en/hiki.hiki +326 -0
- data/doc/en/how-to-make/hiki.hiki +9 -0
- data/doc/en/how-to-make/index.rd +26 -0
- data/doc/en/how-to-make/markdown.md +107 -0
- data/doc/en/how-to-make/pdf.rd +7 -0
- data/doc/en/how-to-make/rd.rd +92 -0
- data/doc/en/how-to-make/theme.rd +135 -0
- data/doc/en/index.rd +268 -0
- data/doc/en/install/homebrew.rd +22 -0
- data/doc/en/install/index.rd +50 -0
- data/doc/en/install/macports.rd +77 -0
- data/doc/en/install/windows.rd +45 -0
- data/doc/en/news.rd +2788 -0
- data/doc/en/rd.rd +482 -0
- data/doc/en/sample/hiki/rabbit.hiki +388 -0
- data/doc/en/sample/index.rd +15 -0
- data/doc/en/sample/markdown/rabbit.md +387 -0
- data/doc/en/sample/rd/rabbit.rd +463 -0
- data/doc/en/slides.rd +13 -0
- data/doc/en/usage/platform/os-x.rd +13 -0
- data/doc/en/usage/rabbit-slide.rd +239 -0
- data/doc/en/usage/rabbit-theme.rd +5 -0
- data/doc/en/usage/rabbit.rd +376 -0
- data/doc/en/usage.rd +24 -0
- data/doc/en/users.rd +35 -0
- data/doc/favicon.ico +0 -0
- data/doc/favicon.png +0 -0
- data/doc/images/background-sample.svg +290 -0
- data/doc/images/background.png +0 -0
- data/doc/images/background.svg +131 -0
- data/doc/images/hare-and-tortoise.png +0 -0
- data/doc/images/hare-and-tortoise.svg +541 -0
- data/doc/images/lavie-icon.png +0 -0
- data/doc/images/lavie.png +0 -0
- data/doc/images/rabbit-slide-show-logo.png +0 -0
- data/doc/images/rabbit-slide-show-logo.svg +597 -0
- data/doc/index.html.en +58 -0
- data/doc/index.html.ja +58 -0
- data/doc/ja/about.rd +21 -0
- data/doc/ja/development.rd +78 -0
- data/doc/ja/faq.rd +202 -0
- data/doc/ja/hiki.hiki +320 -0
- data/doc/ja/how-to-make/hiki.hiki +9 -0
- data/doc/ja/how-to-make/index.rd +26 -0
- data/doc/ja/how-to-make/markdown.md +107 -0
- data/doc/ja/how-to-make/pdf.rd +8 -0
- data/doc/ja/how-to-make/rd.rd +130 -0
- data/doc/ja/how-to-make/theme.rd +142 -0
- data/doc/ja/index.rd +283 -0
- data/doc/ja/install/homebrew.rd +23 -0
- data/doc/ja/install/index.rd +53 -0
- data/doc/ja/install/macports.rd +100 -0
- data/doc/ja/install/windows.rd +46 -0
- data/doc/ja/news.rd +2773 -0
- data/doc/ja/rd.rd +490 -0
- data/doc/ja/sample/hiki/rabbit.hiki +404 -0
- data/doc/ja/sample/index.rd +15 -0
- data/doc/ja/sample/markdown/rabbit.md +382 -0
- data/doc/ja/sample/rd/rabbit.rd +471 -0
- data/doc/ja/slides.rd +29 -0
- data/doc/ja/usage/rabbit-slide.rd +220 -0
- data/doc/ja/usage/rabbit-theme.rd +152 -0
- data/doc/ja/usage/rabbit.rd +377 -0
- data/doc/ja/usage.rd +19 -0
- data/doc/ja/users.rd +196 -0
- data/doc/screenshot.en.rab +10 -0
- data/doc/screenshot.ja.rab +10 -0
- data/entities/README +10 -0
- data/entities/ent2rb.rb +65 -0
- data/entities/isoamsa.ent +167 -0
- data/entities/isoamsb.ent +143 -0
- data/entities/isoamsc.ent +43 -0
- data/entities/isoamsn.ent +114 -0
- data/entities/isoamso.ent +73 -0
- data/entities/isoamsr.ent +204 -0
- data/entities/isobox.ent +61 -0
- data/entities/isocyr1.ent +88 -0
- data/entities/isocyr2.ent +47 -0
- data/entities/isodia.ent +35 -0
- data/entities/isogrk3.ent +64 -0
- data/entities/isolat1.ent +83 -0
- data/entities/isolat2.ent +142 -0
- data/entities/isomfrk.ent +75 -0
- data/entities/isomopf.ent +49 -0
- data/entities/isomscr.ent +75 -0
- data/entities/isonum.ent +97 -0
- data/entities/isopub.ent +105 -0
- data/entities/isotech.ent +182 -0
- data/entities/mmlalias.ent +564 -0
- data/entities/mmlextra.ent +122 -0
- data/lib/rabbit/actions.rb +427 -0
- data/lib/rabbit/author-configuration.rb +90 -0
- data/lib/rabbit/canvas.rb +844 -0
- data/lib/rabbit/command/rabbit-slide.rb +898 -0
- data/lib/rabbit/command/rabbit-theme.rb +300 -0
- data/lib/rabbit/command/rabbit.rb +854 -0
- data/lib/rabbit/config.rb +40 -0
- data/lib/rabbit/console/roff.rb +84 -0
- data/lib/rabbit/console.rb +218 -0
- data/lib/rabbit/cursor-manager.rb +66 -0
- data/lib/rabbit/dependency-canvas.rb +33 -0
- data/lib/rabbit/element/base/draw-hook.rb +75 -0
- data/lib/rabbit/element/base.rb +614 -0
- data/lib/rabbit/element/block-element.rb +56 -0
- data/lib/rabbit/element/block.rb +70 -0
- data/lib/rabbit/element/container-element.rb +321 -0
- data/lib/rabbit/element/description-list.rb +75 -0
- data/lib/rabbit/element/enum-list.rb +53 -0
- data/lib/rabbit/element/footnote.rb +48 -0
- data/lib/rabbit/element/image-title-slide.rb +34 -0
- data/lib/rabbit/element/image.rb +292 -0
- data/lib/rabbit/element/index-slide.rb +206 -0
- data/lib/rabbit/element/item-list.rb +50 -0
- data/lib/rabbit/element/method-list.rb +66 -0
- data/lib/rabbit/element/poppler-page.rb +52 -0
- data/lib/rabbit/element/poppler-slide.rb +47 -0
- data/lib/rabbit/element/poppler-title-slide.rb +45 -0
- data/lib/rabbit/element/preformatted.rb +48 -0
- data/lib/rabbit/element/slide-element.rb +140 -0
- data/lib/rabbit/element/slide.rb +67 -0
- data/lib/rabbit/element/syntax-highlighting.rb +31 -0
- data/lib/rabbit/element/table.rb +121 -0
- data/lib/rabbit/element/tag.rb +60 -0
- data/lib/rabbit/element/text-block-element.rb +27 -0
- data/lib/rabbit/element/text-container-element.rb +176 -0
- data/lib/rabbit/element/text-element.rb +83 -0
- data/lib/rabbit/element/text-renderer.rb +378 -0
- data/lib/rabbit/element/text.rb +146 -0
- data/lib/rabbit/element/title-slide.rb +190 -0
- data/lib/rabbit/element/video.rb +265 -0
- data/lib/rabbit/element.rb +35 -0
- data/lib/rabbit/error.rb +239 -0
- data/lib/rabbit/filename.rb +39 -0
- data/lib/rabbit/formatter.rb +211 -0
- data/lib/rabbit/frame.rb +292 -0
- data/lib/rabbit/front.rb +278 -0
- data/lib/rabbit/gem-builder.rb +42 -0
- data/lib/rabbit/gem-finder.rb +57 -0
- data/lib/rabbit/gem-pusher.rb +89 -0
- data/lib/rabbit/gesture/handler.rb +253 -0
- data/lib/rabbit/gesture/processor.rb +118 -0
- data/lib/rabbit/gettext.rb +14 -0
- data/lib/rabbit/graffiti/config-dialog.rb +47 -0
- data/lib/rabbit/graffiti/processor.rb +132 -0
- data/lib/rabbit/gtk.rb +93 -0
- data/lib/rabbit/html/generator.rb +477 -0
- data/lib/rabbit/html/template.erb +109 -0
- data/lib/rabbit/icon.rb +31 -0
- data/lib/rabbit/image/base.rb +270 -0
- data/lib/rabbit/image/default.rb +42 -0
- data/lib/rabbit/image/dia.rb +74 -0
- data/lib/rabbit/image/eps.rb +129 -0
- data/lib/rabbit/image/gimp.rb +69 -0
- data/lib/rabbit/image/mermaid.rb +74 -0
- data/lib/rabbit/image/pdf.rb +94 -0
- data/lib/rabbit/image/svg.rb +79 -0
- data/lib/rabbit/image-data-loader.rb +51 -0
- data/lib/rabbit/image.rb +53 -0
- data/lib/rabbit/info-window.rb +327 -0
- data/lib/rabbit/key-handler.rb +227 -0
- data/lib/rabbit/keys.rb +209 -0
- data/lib/rabbit/logger/base.rb +147 -0
- data/lib/rabbit/logger/gui.rb +113 -0
- data/lib/rabbit/logger/stderr.rb +42 -0
- data/lib/rabbit/logger.rb +40 -0
- data/lib/rabbit/menu.rb +242 -0
- data/lib/rabbit/pango-markup.rb +44 -0
- data/lib/rabbit/parser/base.rb +31 -0
- data/lib/rabbit/parser/ext/aafigure.rb +51 -0
- data/lib/rabbit/parser/ext/blockdiag.rb +68 -0
- data/lib/rabbit/parser/ext/charty.rb +67 -0
- data/lib/rabbit/parser/ext/coderay.rb +85 -0
- data/lib/rabbit/parser/ext/enscript.rb +136 -0
- data/lib/rabbit/parser/ext/entity.rb +4164 -0
- data/lib/rabbit/parser/ext/escape.rb +18 -0
- data/lib/rabbit/parser/ext/image.rb +157 -0
- data/lib/rabbit/parser/ext/inline.rb +45 -0
- data/lib/rabbit/parser/ext/rouge.rb +129 -0
- data/lib/rabbit/parser/ext/tex.rb +95 -0
- data/lib/rabbit/parser/ext/video.rb +37 -0
- data/lib/rabbit/parser/image.rb +62 -0
- data/lib/rabbit/parser/markdown/converter.rb +440 -0
- data/lib/rabbit/parser/markdown.rb +144 -0
- data/lib/rabbit/parser/pause-support.rb +33 -0
- data/lib/rabbit/parser/pdf.rb +56 -0
- data/lib/rabbit/parser/rd/ext/base.rb +95 -0
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +190 -0
- data/lib/rabbit/parser/rd/ext/character-reference.rb +75 -0
- data/lib/rabbit/parser/rd/ext/image.rb +46 -0
- data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +118 -0
- data/lib/rabbit/parser/rd/ext/refer.rb +50 -0
- data/lib/rabbit/parser/rd/ext/video.rb +32 -0
- data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +458 -0
- data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +105 -0
- data/lib/rabbit/parser/rd/visitor.rb +72 -0
- data/lib/rabbit/parser/rd.rb +92 -0
- data/lib/rabbit/parser/wiki/output.rb +545 -0
- data/lib/rabbit/parser/wiki.rb +61 -0
- data/lib/rabbit/parser.rb +73 -0
- data/lib/rabbit/password-reader.rb +34 -0
- data/lib/rabbit/path-manipulatable.rb +37 -0
- data/lib/rabbit/progress.rb +97 -0
- data/lib/rabbit/properties.rb +154 -0
- data/lib/rabbit/qt.rb +222 -0
- data/lib/rabbit/rabbit.rb +50 -0
- data/lib/rabbit/readme-parser.rb +112 -0
- data/lib/rabbit/relative-size.rb +28 -0
- data/lib/rabbit/renderer/base.rb +412 -0
- data/lib/rabbit/renderer/color.rb +130 -0
- data/lib/rabbit/renderer/display/base.rb +223 -0
- data/lib/rabbit/renderer/display/button-handler.rb +229 -0
- data/lib/rabbit/renderer/display/cursor.rb +49 -0
- data/lib/rabbit/renderer/display/drawing-area-base.rb +381 -0
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +219 -0
- data/lib/rabbit/renderer/display/drawing-area-view-only.rb +57 -0
- data/lib/rabbit/renderer/display/drawing-area.rb +29 -0
- data/lib/rabbit/renderer/display/gesture.rb +111 -0
- data/lib/rabbit/renderer/display/graffiti.rb +127 -0
- data/lib/rabbit/renderer/display/hook-handler.rb +64 -0
- data/lib/rabbit/renderer/display/info.rb +75 -0
- data/lib/rabbit/renderer/display/magnifier.rb +137 -0
- data/lib/rabbit/renderer/display/mask.rb +83 -0
- data/lib/rabbit/renderer/display/menu.rb +54 -0
- data/lib/rabbit/renderer/display/motion-handler.rb +34 -0
- data/lib/rabbit/renderer/display/progress.rb +85 -0
- data/lib/rabbit/renderer/display/qt-drawing-area-base.rb +336 -0
- data/lib/rabbit/renderer/display/qt-drawing-area-primitive.rb +189 -0
- data/lib/rabbit/renderer/display/qt-drawing-area-view-only.rb +53 -0
- data/lib/rabbit/renderer/display/qt-drawing-area.rb +29 -0
- data/lib/rabbit/renderer/display/qt-drawing-widget.rb +85 -0
- data/lib/rabbit/renderer/display/scroll-handler.rb +58 -0
- data/lib/rabbit/renderer/display/search.rb +114 -0
- data/lib/rabbit/renderer/display/spotlight.rb +122 -0
- data/lib/rabbit/renderer/display.rb +17 -0
- data/lib/rabbit/renderer/engine/cairo.rb +481 -0
- data/lib/rabbit/renderer/engine/qt_painter.rb +397 -0
- data/lib/rabbit/renderer/engine.rb +18 -0
- data/lib/rabbit/renderer/kernel.rb +233 -0
- data/lib/rabbit/renderer/offscreen.rb +117 -0
- data/lib/rabbit/renderer/print-layout.rb +150 -0
- data/lib/rabbit/renderer/printer.rb +223 -0
- data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
- data/lib/rabbit/renderer/scene-node-widget.rb +40 -0
- data/lib/rabbit/renderer/scene.rb +538 -0
- data/lib/rabbit/renderer.rb +20 -0
- data/lib/rabbit/search-window.rb +90 -0
- data/lib/rabbit/searcher.rb +40 -0
- data/lib/rabbit/size.rb +100 -0
- data/lib/rabbit/slide-configuration.rb +211 -0
- data/lib/rabbit/slide.rb +40 -0
- data/lib/rabbit/soap/base.rb +17 -0
- data/lib/rabbit/soap/driver.rb +61 -0
- data/lib/rabbit/soap/server.rb +49 -0
- data/lib/rabbit/source/argf.rb +45 -0
- data/lib/rabbit/source/base.rb +197 -0
- data/lib/rabbit/source/file.rb +85 -0
- data/lib/rabbit/source/memory.rb +61 -0
- data/lib/rabbit/source/uri.rb +93 -0
- data/lib/rabbit/source-generator/hiki.rb +58 -0
- data/lib/rabbit/source-generator/markdown.rb +56 -0
- data/lib/rabbit/source-generator/rd.rb +60 -0
- data/lib/rabbit/source-generator.rb +39 -0
- data/lib/rabbit/source.rb +30 -0
- data/lib/rabbit/task/slide.rb +221 -0
- data/lib/rabbit/task/theme.rb +202 -0
- data/lib/rabbit/task.rb +18 -0
- data/lib/rabbit/theme/applier.rb +690 -0
- data/lib/rabbit/theme/auto-slide/auto-slide.rb +6 -0
- data/lib/rabbit/theme/auto-slide/property.rb +4 -0
- data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +125 -0
- data/lib/rabbit/theme/base/base.rb +85 -0
- data/lib/rabbit/theme/base/property.rb +4 -0
- data/lib/rabbit/theme/blue-bar/blue-bar.rb +80 -0
- data/lib/rabbit/theme/blue-bar/property.rb +3 -0
- data/lib/rabbit/theme/blue-circle/blue-circle.rb +14 -0
- data/lib/rabbit/theme/blue-circle/property.rb +3 -0
- data/lib/rabbit/theme/body-background-image/body-background-image.rb +8 -0
- data/lib/rabbit/theme/centering-rabbit/centering-rabbit.rb +5 -0
- data/lib/rabbit/theme/centering-rabbit/property.rb +3 -0
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +101 -0
- data/lib/rabbit/theme/clear-blue/property.rb +3 -0
- data/lib/rabbit/theme/clock/clock.rb +37 -0
- data/lib/rabbit/theme/clock/property.rb +21 -0
- data/lib/rabbit/theme/color-circle/color-circle.rb +60 -0
- data/lib/rabbit/theme/color-circle/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-block-quote/color-circle-block-quote.rb +28 -0
- data/lib/rabbit/theme/color-circle-block-quote/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-common/color-circle-common.rb +48 -0
- data/lib/rabbit/theme/color-circle-common/property.rb +3 -0
- data/lib/rabbit/theme/color-circle-description/color-circle-description.rb +9 -0
- data/lib/rabbit/theme/color-circle-description/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-foot-text/color-circle-foot-text.rb +14 -0
- data/lib/rabbit/theme/color-circle-foot-text/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-item-mark/color-circle-item-mark.rb +77 -0
- data/lib/rabbit/theme/color-circle-item-mark/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-method-list/color-circle-method-list.rb +8 -0
- data/lib/rabbit/theme/color-circle-method-list/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb +5 -0
- data/lib/rabbit/theme/color-circle-preformatted/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-slide/color-circle-slide.rb +13 -0
- data/lib/rabbit/theme/color-circle-slide/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-text/color-circle-text.rb +9 -0
- data/lib/rabbit/theme/color-circle-text/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-title-slide/color-circle-title-slide.rb +27 -0
- data/lib/rabbit/theme/color-circle-title-slide/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-title-text/color-circle-title-text.rb +7 -0
- data/lib/rabbit/theme/color-circle-title-text/property.rb +4 -0
- data/lib/rabbit/theme/cozmixng/cozmixng.rb +44 -0
- data/lib/rabbit/theme/cozmixng/property.rb +3 -0
- data/lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb +6 -0
- data/lib/rabbit/theme/cozmixng-powered-by/property.rb +7 -0
- data/lib/rabbit/theme/dark-gradation/dark-gradation.rb +187 -0
- data/lib/rabbit/theme/dark-gradation/property.rb +3 -0
- data/lib/rabbit/theme/day-white/day-white.rb +8 -0
- data/lib/rabbit/theme/day-white/property.rb +3 -0
- data/lib/rabbit/theme/debian/debian.rb +232 -0
- data/lib/rabbit/theme/debian/property.rb +3 -0
- data/lib/rabbit/theme/default/default.rb +42 -0
- data/lib/rabbit/theme/default/property.rb +3 -0
- data/lib/rabbit/theme/default-block-quote/default-block-quote.rb +219 -0
- data/lib/rabbit/theme/default-block-quote/property.rb +3 -0
- data/lib/rabbit/theme/default-comment/default-comment.rb +5 -0
- data/lib/rabbit/theme/default-comment/property.rb +4 -0
- data/lib/rabbit/theme/default-description/default-description.rb +64 -0
- data/lib/rabbit/theme/default-description/property.rb +5 -0
- data/lib/rabbit/theme/default-foot-text/default-foot-text.rb +52 -0
- data/lib/rabbit/theme/default-foot-text/property.rb +3 -0
- data/lib/rabbit/theme/default-icon/default-icon.rb +4 -0
- data/lib/rabbit/theme/default-icon/property.rb +5 -0
- data/lib/rabbit/theme/default-item-mark/default-item-mark.rb +104 -0
- data/lib/rabbit/theme/default-item-mark/property.rb +4 -0
- data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +132 -0
- data/lib/rabbit/theme/default-item-mark-setup/property.rb +3 -0
- data/lib/rabbit/theme/default-method-list/default-method-list.rb +6 -0
- data/lib/rabbit/theme/default-method-list/property.rb +3 -0
- data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +56 -0
- data/lib/rabbit/theme/default-preformatted/property.rb +3 -0
- data/lib/rabbit/theme/default-slide/default-slide.rb +62 -0
- data/lib/rabbit/theme/default-slide/property.rb +3 -0
- data/lib/rabbit/theme/default-text/default-text.rb +186 -0
- data/lib/rabbit/theme/default-text/property.rb +3 -0
- data/lib/rabbit/theme/default-title-slide/default-title-slide.rb +13 -0
- data/lib/rabbit/theme/default-title-slide/property.rb +6 -0
- data/lib/rabbit/theme/default-title-text/default-title-text.rb +53 -0
- data/lib/rabbit/theme/default-title-text/property.rb +3 -0
- data/lib/rabbit/theme/document.erb +35 -0
- data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +87 -0
- data/lib/rabbit/theme/edge-info-toolkit/property.rb +3 -0
- data/lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb +16 -0
- data/lib/rabbit/theme/emphasize-keyword/property.rb +4 -0
- data/lib/rabbit/theme/enishi-green/enishi-green.rb +61 -0
- data/lib/rabbit/theme/enishi-green/property.rb +3 -0
- data/lib/rabbit/theme/entry.rb +202 -0
- data/lib/rabbit/theme/footer-comment/footer-comment.rb +74 -0
- data/lib/rabbit/theme/footer-comment/property.rb +3 -0
- data/lib/rabbit/theme/footer-logo/footer-logo.rb +30 -0
- data/lib/rabbit/theme/footer-logo/property.rb +26 -0
- data/lib/rabbit/theme/green-circle/green-circle.rb +14 -0
- data/lib/rabbit/theme/green-circle/property.rb +3 -0
- data/lib/rabbit/theme/headline-logo/headline-logo.rb +24 -0
- data/lib/rabbit/theme/headline-logo/property.rb +10 -0
- data/lib/rabbit/theme/icon/icon.rb +3 -0
- data/lib/rabbit/theme/icon/property.rb +24 -0
- data/lib/rabbit/theme/image/image.rb +80 -0
- data/lib/rabbit/theme/image/property.rb +3 -0
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +134 -0
- data/lib/rabbit/theme/image-slide-number/property.rb +64 -0
- data/lib/rabbit/theme/image-timer/image-timer.rb +119 -0
- data/lib/rabbit/theme/image-timer/property.rb +46 -0
- data/lib/rabbit/theme/image-viewer/image-viewer.rb +21 -0
- data/lib/rabbit/theme/image-viewer/property.rb +3 -0
- data/lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb +13 -0
- data/lib/rabbit/theme/lightning-clear-blue/property.rb +3 -0
- data/lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb +15 -0
- data/lib/rabbit/theme/lightning-monochrome/property.rb +3 -0
- data/lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb +13 -0
- data/lib/rabbit/theme/lightning-rabbit/property.rb +3 -0
- data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +60 -0
- data/lib/rabbit/theme/lightning-simple/property.rb +3 -0
- data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +67 -0
- data/lib/rabbit/theme/lightning-talk/property.rb +3 -0
- data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +179 -0
- data/lib/rabbit/theme/lightning-talk-toolkit/property.rb +3 -0
- data/lib/rabbit/theme/manager.rb +45 -0
- data/lib/rabbit/theme/mirror-effect/mirror-effect.rb +27 -0
- data/lib/rabbit/theme/mirror-effect/property.rb +3 -0
- data/lib/rabbit/theme/nari/nari.rb +215 -0
- data/lib/rabbit/theme/nari/property.rb +3 -0
- data/lib/rabbit/theme/newline-in-slides/newline-in-slides.rb +29 -0
- data/lib/rabbit/theme/newline-in-slides/property.rb +4 -0
- data/lib/rabbit/theme/newline-in-title/newline-in-title.rb +7 -0
- data/lib/rabbit/theme/newline-in-title/property.rb +4 -0
- data/lib/rabbit/theme/night-black/night-black.rb +19 -0
- data/lib/rabbit/theme/night-black/property.rb +3 -0
- data/lib/rabbit/theme/pdf/pdf.rb +24 -0
- data/lib/rabbit/theme/pdf/property.rb +3 -0
- data/lib/rabbit/theme/per-slide-background-color/per-slide-background-color.rb +18 -0
- data/lib/rabbit/theme/per-slide-background-color/property.rb +16 -0
- data/lib/rabbit/theme/per-slide-background-image/per-slide-background-image.rb +11 -0
- data/lib/rabbit/theme/per-slide-background-image/property.rb +16 -0
- data/lib/rabbit/theme/powered-by/powered-by.rb +67 -0
- data/lib/rabbit/theme/powered-by/property.rb +24 -0
- data/lib/rabbit/theme/rabbit/property.rb +3 -0
- data/lib/rabbit/theme/rabbit/rabbit.rb +57 -0
- data/lib/rabbit/theme/rabbit-block-quote/property.rb +4 -0
- data/lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb +18 -0
- data/lib/rabbit/theme/rabbit-headline-logo/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb +4 -0
- data/lib/rabbit/theme/rabbit-icon/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +4 -0
- data/lib/rabbit/theme/rabbit-item-mark/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb +53 -0
- data/lib/rabbit/theme/rabbit-powered-by/property.rb +7 -0
- data/lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb +5 -0
- data/lib/rabbit/theme/rabbit-title-logo/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb +4 -0
- data/lib/rabbit/theme/ranguba/property.rb +3 -0
- data/lib/rabbit/theme/ranguba/ranguba.rb +218 -0
- data/lib/rabbit/theme/red-frame/property.rb +3 -0
- data/lib/rabbit/theme/red-frame/red-frame.rb +100 -0
- data/lib/rabbit/theme/rotate-zoom-effect/property.rb +4 -0
- data/lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb +51 -0
- data/lib/rabbit/theme/ruby-gnome2/property.rb +3 -0
- data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +65 -0
- data/lib/rabbit/theme/ruby-gnome2-description/property.rb +7 -0
- data/lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb +7 -0
- data/lib/rabbit/theme/ruby-gnome2-foot-text/property.rb +5 -0
- data/lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb +3 -0
- data/lib/rabbit/theme/ruby-gnome2-headline/property.rb +7 -0
- data/lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb +47 -0
- data/lib/rabbit/theme/ruby-gnome2-icon/property.rb +5 -0
- data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +4 -0
- data/lib/rabbit/theme/ruby-gnome2-item-mark/property.rb +10 -0
- data/lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb +65 -0
- data/lib/rabbit/theme/ruby-gnome2-preformatted/property.rb +4 -0
- data/lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb +8 -0
- data/lib/rabbit/theme/ruby-gnome2-slide/property.rb +4 -0
- data/lib/rabbit/theme/ruby-gnome2-slide/ruby-gnome2-slide.rb +40 -0
- data/lib/rabbit/theme/rubykaigi2011/property.rb +3 -0
- data/lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb +48 -0
- data/lib/rabbit/theme/scroll-effect/property.rb +3 -0
- data/lib/rabbit/theme/scroll-effect/scroll-effect.rb +32 -0
- data/lib/rabbit/theme/searcher.rb +179 -0
- data/lib/rabbit/theme/show-frame/property.rb +16 -0
- data/lib/rabbit/theme/show-frame/show-frame.rb +17 -0
- data/lib/rabbit/theme/simple-item-mark/property.rb +5 -0
- data/lib/rabbit/theme/simple-item-mark/simple-item-mark.rb +112 -0
- data/lib/rabbit/theme/slide-background/property.rb +6 -0
- data/lib/rabbit/theme/slide-background/slide-background.rb +3 -0
- data/lib/rabbit/theme/slide-background-image/property.rb +10 -0
- data/lib/rabbit/theme/slide-background-image/slide-background-image.rb +25 -0
- data/lib/rabbit/theme/slide-footer-info/property.rb +43 -0
- data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +51 -0
- data/lib/rabbit/theme/slide-header-info/property.rb +43 -0
- data/lib/rabbit/theme/slide-header-info/slide-header-info.rb +42 -0
- data/lib/rabbit/theme/slide-logo/property.rb +26 -0
- data/lib/rabbit/theme/slide-logo/slide-logo.rb +58 -0
- data/lib/rabbit/theme/slide-number/property.rb +21 -0
- data/lib/rabbit/theme/slide-number/slide-number.rb +34 -0
- data/lib/rabbit/theme/slide-show/property.rb +4 -0
- data/lib/rabbit/theme/slide-show/slide-show.rb +31 -0
- data/lib/rabbit/theme/stream-comment/property.rb +3 -0
- data/lib/rabbit/theme/stream-comment/stream-comment.rb +66 -0
- data/lib/rabbit/theme/syntax-highlighting/property.rb +4 -0
- data/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb +177 -0
- data/lib/rabbit/theme/table/property.rb +3 -0
- data/lib/rabbit/theme/table/table.rb +173 -0
- data/lib/rabbit/theme/tag/property.rb +4 -0
- data/lib/rabbit/theme/tag/tag.rb +85 -0
- data/lib/rabbit/theme/timer/property.rb +3 -0
- data/lib/rabbit/theme/timer/timer.rb +63 -0
- data/lib/rabbit/theme/title-background-color/property.rb +10 -0
- data/lib/rabbit/theme/title-background-color/title-background-color.rb +17 -0
- data/lib/rabbit/theme/title-background-image/property.rb +11 -0
- data/lib/rabbit/theme/title-background-image/title-background-image.rb +28 -0
- data/lib/rabbit/theme/title-logo/property.rb +23 -0
- data/lib/rabbit/theme/title-logo/title-logo.rb +38 -0
- data/lib/rabbit/theme/title-on-image-toolkit/property.rb +3 -0
- data/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb +140 -0
- data/lib/rabbit/theme/title-shadow/property.rb +11 -0
- data/lib/rabbit/theme/title-shadow/title-shadow.rb +7 -0
- data/lib/rabbit/theme/title-slide-background-image/property.rb +10 -0
- data/lib/rabbit/theme/title-slide-background-image/title-slide-background-image.rb +25 -0
- data/lib/rabbit/theme/video/property.rb +3 -0
- data/lib/rabbit/theme/video/video.rb +5 -0
- data/lib/rabbit/theme-configuration.rb +101 -0
- data/lib/rabbit/utils.rb +435 -0
- data/lib/rabbit/version.rb +19 -0
- data/lib/rabbit/xmlrpc/base.rb +6 -0
- data/lib/rabbit/xmlrpc/client.rb +33 -0
- data/lib/rabbit/xmlrpc/server.rb +39 -0
- data/lib/rabbit/yaml-loader.rb +39 -0
- data/misc/emacs/README.ja +177 -0
- data/misc/emacs/rabbit-mode.el +378 -0
- data/misc/github-post-receiver/config.ru +170 -0
- data/misc/github-post-receiver/config.yaml.sample +3 -0
- data/misc/github-post-receiver/tmp/restart.txt +0 -0
- data/misc/make-image-sample.rb +95 -0
- data/misc/make-print-sample.rb +95 -0
- data/misc/update-rd.rb +85 -0
- data/misc/xyzzy/rabbit-mode.l +775 -0
- data/po/en/rabbit.po +2110 -0
- data/po/fr/rabbit.po +2109 -0
- data/po/ja/rabbit.po +2197 -0
- data/rabbit-qt.gemspec +80 -0
- data/sample/block-quote.rab +13 -0
- data/sample/blue-circle.rd +37 -0
- data/sample/can_rabbit.rd +425 -0
- data/sample/cozmixng.rd +85 -0
- data/sample/cozmixng_is_field.png +0 -0
- data/sample/cozmixng_is_field.svg +430 -0
- data/sample/description-list.rab +17 -0
- data/sample/enishi-green.rab +14 -0
- data/sample/equation.eps +571 -0
- data/sample/gl-sample.rd +8 -0
- data/sample/html_and_wiki.png +0 -0
- data/sample/html_and_wiki.svg +275 -0
- data/sample/image-reflection.rab +12 -0
- data/sample/info-window.png +0 -0
- data/sample/join_cozmixng.png +0 -0
- data/sample/join_cozmixng.svg +293 -0
- data/sample/kof2005/gesture-flow.svg +329 -0
- data/sample/kof2005/gesture.rb +473 -0
- data/sample/kof2005/gtk+-widget.svg +128 -0
- data/sample/kof2005/high-light-architecture.svg +203 -0
- data/sample/kof2005/high-light-expose.rb +120 -0
- data/sample/kof2005/high-light-expose.svg +153 -0
- data/sample/kof2005/high-light-widget.rb +147 -0
- data/sample/kof2005/high-light-widget.svg +172 -0
- data/sample/kof2005/high-light.svg +132 -0
- data/sample/kof2005/mask-screenshot.png +0 -0
- data/sample/kof2005/mask.rb +105 -0
- data/sample/kof2005/mask.svg +120 -0
- data/sample/kof2005/ruby-gnome2-logo.png +0 -0
- data/sample/kof2005/ruby-pink-circle-logo.png +0 -0
- data/sample/kof2005/skip-up-with-ruby-gnome2.rd +450 -0
- data/sample/kof2005/widget.svg +202 -0
- data/sample/lavie.png +0 -0
- data/sample/lightning-talk.rd +50 -0
- data/sample/lldn/input.svg +269 -0
- data/sample/lldn/interface.svg +410 -0
- data/sample/lldn/kame.png +0 -0
- data/sample/lldn/lavie.png +0 -0
- data/sample/lldn/lldn.rd +212 -0
- data/sample/lldn/output.svg +284 -0
- data/sample/lldn/rabbit-rwiki.svg +353 -0
- data/sample/lldn/rabbit_banner.png +0 -0
- data/sample/lldn/rabbit_banner2.png +0 -0
- data/sample/m17n.rd +138 -0
- data/sample/mermaid.rab +16 -0
- data/sample/note.rab +31 -0
- data/sample/ppt/hare-and-tortoise-end.png +0 -0
- data/sample/ppt/hare-and-tortoise-middle.png +0 -0
- data/sample/ppt/hare-and-tortoise-start.png +0 -0
- data/sample/ppt/ppt.rd +207 -0
- data/sample/ppt/rabbit-with-ruby.png +0 -0
- data/sample/pre.rd +123 -0
- data/sample/rabbit/theme/festival/festival.rb +6 -0
- data/sample/rabbit/theme/gl-sample/gl-sample.rb +29 -0
- data/sample/rabbit/theme/image-with-frame/image-with-frame.rb +2 -0
- data/sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb +3 -0
- data/sample/rabbit/theme/image-without-frame/image-without-frame.rb +2 -0
- data/sample/rabbit/theme/kof2005/kof2005.rb +9 -0
- data/sample/rabbit/theme/kof2005/property.rb +3 -0
- data/sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb +6 -0
- data/sample/rabbit/theme/lldn/lldn.rb +20 -0
- data/sample/rabbit/theme/pdf/pdf.rb +16 -0
- data/sample/rabbit/theme/pdf/property.rb +4 -0
- data/sample/rabbit/theme/ppt/ppt.rb +5 -0
- data/sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb +11 -0
- data/sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb +4 -0
- data/sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb +2 -0
- data/sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb +5 -0
- data/sample/rabbit-balloon.obj +93 -0
- data/sample/rabbit-en.hiki +399 -0
- data/sample/rabbit-en.md +410 -0
- data/sample/rabbit-en.rd +511 -0
- data/sample/rabbit-history.svg +280 -0
- data/sample/rabbit-implementation.rd +182 -0
- data/sample/rabbit-slide-show-logo.svg +597 -0
- data/sample/rabbit.dia +408 -0
- data/sample/rabbit.hiki +398 -0
- data/sample/rabbit.md +423 -0
- data/sample/rabbit.rd +520 -0
- data/sample/rabbit.xcf +0 -0
- data/sample/rabbit_icon.ico +0 -0
- data/sample/rabbit_icon.png +0 -0
- data/sample/shocker.jpg +0 -0
- data/sample/slide-property.hiki +14 -0
- data/sample/slide-property.rab +18 -0
- data/sample/spiral.svg +29 -0
- data/sample/table-en.rd +55 -0
- data/sample/table.hiki +34 -0
- data/sample/table.rd +55 -0
- data/sample/usagi.png +0 -0
- data/sample/video.md +19 -0
- data/sample/video.rab +17 -0
- metadata +1000 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
|
|
2
|
+
<!--
|
|
3
|
+
File mmlextra.ent produced by the XSL script characters.xsl
|
|
4
|
+
from input data in unicode.xml.
|
|
5
|
+
|
|
6
|
+
Please report any errors to David Carlisle
|
|
7
|
+
via the public W3C list www-math@w3.org.
|
|
8
|
+
|
|
9
|
+
The numeric character values assigned to each entity
|
|
10
|
+
(should) match the Unicode assignments in Unicode 4.0.
|
|
11
|
+
|
|
12
|
+
-->
|
|
13
|
+
|
|
14
|
+
<!ENTITY % plane1D "&#38;#x1D">
|
|
15
|
+
|
|
16
|
+
<!ENTITY af "⁡" ><!--character showing function application in presentation tagging -->
|
|
17
|
+
<!ENTITY aopf "%plane1D;552;" ><!-- -->
|
|
18
|
+
<!ENTITY asympeq "≍" ><!--Old ISOAMSR asymp (for HTML compatibility) -->
|
|
19
|
+
<!ENTITY bopf "%plane1D;553;" ><!-- -->
|
|
20
|
+
<!ENTITY copf "%plane1D;554;" ><!-- -->
|
|
21
|
+
<!ENTITY Cross "⨯" ><!--cross or vector product -->
|
|
22
|
+
<!ENTITY DD "ⅅ" ><!--D for use in differentials, e.g., within integrals -->
|
|
23
|
+
<!ENTITY dd "ⅆ" ><!--d for use in differentials, e.g., within integrals -->
|
|
24
|
+
<!ENTITY dopf "%plane1D;555;" ><!-- -->
|
|
25
|
+
<!ENTITY DownArrowBar "⤓" ><!--down arrow to bar -->
|
|
26
|
+
<!ENTITY DownBreve " ̑" ><!--breve, inverted (non-spacing) -->
|
|
27
|
+
<!ENTITY DownLeftRightVector "⥐" ><!--left-down-right-down harpoon -->
|
|
28
|
+
<!ENTITY DownLeftTeeVector "⥞" ><!--left-down harpoon from bar -->
|
|
29
|
+
<!ENTITY DownLeftVectorBar "⥖" ><!--left-down harpoon to bar -->
|
|
30
|
+
<!ENTITY DownRightTeeVector "⥟" ><!--right-down harpoon from bar -->
|
|
31
|
+
<!ENTITY DownRightVectorBar "⥗" ><!--right-down harpoon to bar -->
|
|
32
|
+
<!ENTITY ee "ⅇ" ><!--e use for the exponential base of the natural logarithms -->
|
|
33
|
+
<!ENTITY EmptySmallSquare "◻" ><!--empty small square -->
|
|
34
|
+
<!ENTITY EmptyVerySmallSquare "▫" ><!--empty small square -->
|
|
35
|
+
<!ENTITY eopf "%plane1D;556;" ><!-- -->
|
|
36
|
+
<!ENTITY Equal "⩵" ><!--two consecutive equal signs -->
|
|
37
|
+
<!ENTITY FilledSmallSquare "◼" ><!--filled small square -->
|
|
38
|
+
<!ENTITY FilledVerySmallSquare "▪" ><!--filled very small square -->
|
|
39
|
+
<!ENTITY fopf "%plane1D;557;" ><!-- -->
|
|
40
|
+
<!ENTITY gopf "%plane1D;558;" ><!-- -->
|
|
41
|
+
<!ENTITY GreaterGreater "⪢" ><!--alias for GT -->
|
|
42
|
+
<!ENTITY Hat "^" ><!--circumflex accent -->
|
|
43
|
+
<!ENTITY hopf "%plane1D;559;" ><!-- -->
|
|
44
|
+
<!ENTITY HorizontalLine "─" ><!--short horizontal line -->
|
|
45
|
+
<!ENTITY ic "⁣" ><!--short form of ⁣ -->
|
|
46
|
+
<!ENTITY ii "ⅈ" ><!--i for use as a square root of -1 -->
|
|
47
|
+
<!ENTITY iopf "%plane1D;55A;" ><!-- -->
|
|
48
|
+
<!ENTITY it "⁢" ><!--marks multiplication when it is understood without a mark -->
|
|
49
|
+
<!ENTITY jopf "%plane1D;55B;" ><!-- -->
|
|
50
|
+
<!ENTITY kopf "%plane1D;55C;" ><!-- -->
|
|
51
|
+
<!ENTITY larrb "⇤" ><!--leftwards arrow to bar -->
|
|
52
|
+
<!ENTITY LeftDownTeeVector "⥡" ><!--down-left harpoon from bar -->
|
|
53
|
+
<!ENTITY LeftDownVectorBar "⥙" ><!--down-left harpoon to bar -->
|
|
54
|
+
<!ENTITY LeftRightVector "⥎" ><!--left-up-right-up harpoon -->
|
|
55
|
+
<!ENTITY LeftTeeVector "⥚" ><!--left-up harpoon from bar -->
|
|
56
|
+
<!ENTITY LeftTriangleBar "⧏" ><!--left triangle, vertical bar -->
|
|
57
|
+
<!ENTITY LeftUpDownVector "⥑" ><!--up-left-down-left harpoon -->
|
|
58
|
+
<!ENTITY LeftUpTeeVector "⥠" ><!--up-left harpoon from bar -->
|
|
59
|
+
<!ENTITY LeftUpVectorBar "⥘" ><!--up-left harpoon to bar -->
|
|
60
|
+
<!ENTITY LeftVectorBar "⥒" ><!--left-up harpoon to bar -->
|
|
61
|
+
<!ENTITY LessLess "⪡" ><!--alias for Lt -->
|
|
62
|
+
<!ENTITY lopf "%plane1D;55D;" ><!-- -->
|
|
63
|
+
<!ENTITY mapstodown "↧" ><!--downwards arrow from bar -->
|
|
64
|
+
<!ENTITY mapstoleft "↤" ><!--leftwards arrow from bar -->
|
|
65
|
+
<!ENTITY mapstoup "↥" ><!--upwards arrow from bar -->
|
|
66
|
+
<!ENTITY MediumSpace " " ><!--space of width 4/18 em -->
|
|
67
|
+
<!ENTITY mopf "%plane1D;55E;" ><!-- -->
|
|
68
|
+
<!ENTITY nbump "≎̸" ><!--not bumpy equals -->
|
|
69
|
+
<!ENTITY nbumpe "≏̸" ><!--not bumpy single equals -->
|
|
70
|
+
<!ENTITY nesim "≂̸" ><!--not equal or similar -->
|
|
71
|
+
<!ENTITY NewLine "
" ><!--force a line break; line feed -->
|
|
72
|
+
<!ENTITY NoBreak "⁠" ><!--never break line here -->
|
|
73
|
+
<!ENTITY nopf "%plane1D;55F;" ><!-- -->
|
|
74
|
+
<!ENTITY NotCupCap "≭" ><!--alias for &nasymp; -->
|
|
75
|
+
<!ENTITY NotHumpEqual "≏̸" ><!--alias for ≏̸ -->
|
|
76
|
+
<!ENTITY NotLeftTriangleBar "⧏̸" ><!--not left triangle, vertical bar -->
|
|
77
|
+
<!ENTITY NotNestedGreaterGreater "⪢̸" ><!--not double greater-than sign -->
|
|
78
|
+
<!ENTITY NotNestedLessLess "⪡̸" ><!--not double less-than sign -->
|
|
79
|
+
<!ENTITY NotRightTriangleBar "⧐̸" ><!--not vertical bar, right triangle -->
|
|
80
|
+
<!ENTITY NotSquareSubset "⊏̸" ><!--square not subset -->
|
|
81
|
+
<!ENTITY NotSquareSuperset "⊐̸" ><!--negated set-like partial order operator -->
|
|
82
|
+
<!ENTITY NotSucceedsTilde "≿̸" ><!--not succeeds or similar -->
|
|
83
|
+
<!ENTITY oopf "%plane1D;560;" ><!-- -->
|
|
84
|
+
<!ENTITY OverBar "¯" ><!--over bar -->
|
|
85
|
+
<!ENTITY OverBrace "︷" ><!--over brace -->
|
|
86
|
+
<!ENTITY OverBracket "⎴" ><!--over bracket -->
|
|
87
|
+
<!ENTITY OverParenthesis "︵" ><!--over parenthesis -->
|
|
88
|
+
<!ENTITY planckh "ℎ" ><!--the ring (skew field) of quaternions -->
|
|
89
|
+
<!ENTITY popf "%plane1D;561;" ><!-- -->
|
|
90
|
+
<!ENTITY Product "∏" ><!--alias for ∏ -->
|
|
91
|
+
<!ENTITY qopf "%plane1D;562;" ><!-- -->
|
|
92
|
+
<!ENTITY rarrb "⇥" ><!--leftwards arrow to bar -->
|
|
93
|
+
<!ENTITY RightDownTeeVector "⥝" ><!--down-right harpoon from bar -->
|
|
94
|
+
<!ENTITY RightDownVectorBar "⥕" ><!--down-right harpoon to bar -->
|
|
95
|
+
<!ENTITY RightTeeVector "⥛" ><!--right-up harpoon from bar -->
|
|
96
|
+
<!ENTITY RightTriangleBar "⧐" ><!--vertical bar, right triangle -->
|
|
97
|
+
<!ENTITY RightUpDownVector "⥏" ><!--up-right-down-right harpoon -->
|
|
98
|
+
<!ENTITY RightUpTeeVector "⥜" ><!--up-right harpoon from bar -->
|
|
99
|
+
<!ENTITY RightUpVectorBar "⥔" ><!--up-right harpoon to bar -->
|
|
100
|
+
<!ENTITY RightVectorBar "⥓" ><!--up-right harpoon to bar -->
|
|
101
|
+
<!ENTITY ropf "%plane1D;563;" ><!-- -->
|
|
102
|
+
<!ENTITY RoundImplies "⥰" ><!--round implies -->
|
|
103
|
+
<!ENTITY RuleDelayed "⧴" ><!--rule-delayed (colon right arrow) -->
|
|
104
|
+
<!ENTITY sopf "%plane1D;564;" ><!-- -->
|
|
105
|
+
<!ENTITY Tab "	" ><!--tabulator stop; horizontal tabulation -->
|
|
106
|
+
<!ENTITY ThickSpace "   " ><!--space of width 5/18 em -->
|
|
107
|
+
<!ENTITY topf "%plane1D;565;" ><!-- -->
|
|
108
|
+
<!ENTITY UnderBar " ̲" ><!--combining low line -->
|
|
109
|
+
<!ENTITY UnderBrace "︸" ><!--under brace -->
|
|
110
|
+
<!ENTITY UnderBracket "⎵" ><!--under bracket -->
|
|
111
|
+
<!ENTITY UnderParenthesis "︶" ><!--under parenthesis -->
|
|
112
|
+
<!ENTITY uopf "%plane1D;566;" ><!-- -->
|
|
113
|
+
<!ENTITY UpArrowBar "⤒" ><!--up arrow to bar -->
|
|
114
|
+
<!ENTITY Upsilon "Υ" ><!--ISOGRK1 Ugr, HTML4 Upsilon -->
|
|
115
|
+
<!ENTITY VerticalLine "|" ><!--alias ISONUM verbar -->
|
|
116
|
+
<!ENTITY VerticalSeparator "❘" ><!--vertical separating operator -->
|
|
117
|
+
<!ENTITY vopf "%plane1D;567;" ><!-- -->
|
|
118
|
+
<!ENTITY wopf "%plane1D;568;" ><!-- -->
|
|
119
|
+
<!ENTITY xopf "%plane1D;569;" ><!-- -->
|
|
120
|
+
<!ENTITY yopf "%plane1D;56A;" ><!-- -->
|
|
121
|
+
<!ENTITY ZeroWidthSpace "​" ><!--zero width space -->
|
|
122
|
+
<!ENTITY zopf "%plane1D;56B;" ><!-- -->
|
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
# Copyright (C) 2005-2025 Sutou Kouhei <kou@cozmixng.org>
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require_relative "icon"
|
|
18
|
+
|
|
19
|
+
module Rabbit
|
|
20
|
+
Action = Struct.new(:name,
|
|
21
|
+
:parameter_type,
|
|
22
|
+
:initial_state,
|
|
23
|
+
:update_state,
|
|
24
|
+
:update_enabled,
|
|
25
|
+
:label,
|
|
26
|
+
:icon,
|
|
27
|
+
:icon_name,
|
|
28
|
+
:activate) do
|
|
29
|
+
attr_accessor :state, :enabled
|
|
30
|
+
|
|
31
|
+
def enabled?
|
|
32
|
+
!!enabled
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(*)
|
|
36
|
+
super
|
|
37
|
+
self.enabled = true
|
|
38
|
+
if initial_state.nil?
|
|
39
|
+
self.state = update_state.call if update_state
|
|
40
|
+
else
|
|
41
|
+
self.state = initial_state
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def update
|
|
46
|
+
self.state = update_state.call if update_state
|
|
47
|
+
self.enabled = update_enabled.call if update_enabled
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def trigger(parameter = nil)
|
|
51
|
+
activate.call(self, parameter)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def change_state(new_state)
|
|
55
|
+
self.state = new_state
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
class Actions
|
|
60
|
+
include GetText
|
|
61
|
+
|
|
62
|
+
def initialize(canvas)
|
|
63
|
+
@canvas = canvas
|
|
64
|
+
@actions = {}
|
|
65
|
+
|
|
66
|
+
build_move_actions
|
|
67
|
+
build_output_actions
|
|
68
|
+
build_window_actions
|
|
69
|
+
build_theme_actions
|
|
70
|
+
build_view_actions
|
|
71
|
+
build_graffiti_actions
|
|
72
|
+
build_content_actions
|
|
73
|
+
build_hole_actions
|
|
74
|
+
build_search_actions
|
|
75
|
+
build_log_level_actions
|
|
76
|
+
build_quit_actions
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def update_status
|
|
80
|
+
@actions.each_value(&:update)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def find_action(name)
|
|
84
|
+
@actions[name]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def [](name)
|
|
88
|
+
@actions[name]
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
private
|
|
92
|
+
def guard
|
|
93
|
+
begin
|
|
94
|
+
yield
|
|
95
|
+
rescue Exception
|
|
96
|
+
Rabbit.logger.warn($!)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def build_action(name,
|
|
101
|
+
parameter_type: nil,
|
|
102
|
+
initial_state: nil,
|
|
103
|
+
update_state: nil,
|
|
104
|
+
update_enabled: nil,
|
|
105
|
+
label: nil,
|
|
106
|
+
icon: nil,
|
|
107
|
+
icon_name: nil)
|
|
108
|
+
activate = lambda do |action, parameter|
|
|
109
|
+
guard do
|
|
110
|
+
yield(action, parameter)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
action = Action.new(name,
|
|
114
|
+
parameter_type,
|
|
115
|
+
initial_state,
|
|
116
|
+
update_state,
|
|
117
|
+
update_enabled,
|
|
118
|
+
label,
|
|
119
|
+
icon,
|
|
120
|
+
icon_name,
|
|
121
|
+
activate)
|
|
122
|
+
@actions[name] = action
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def build_move_actions
|
|
126
|
+
build_action("Next",
|
|
127
|
+
update_enabled: lambda {@canvas.have_next?},
|
|
128
|
+
label: _("Next"),
|
|
129
|
+
icon_name: "go-next") do
|
|
130
|
+
@canvas.move_to_next_if_can
|
|
131
|
+
end
|
|
132
|
+
build_action("Previous",
|
|
133
|
+
update_enabled: lambda {@canvas.have_previous?},
|
|
134
|
+
label: _("Previous"),
|
|
135
|
+
icon_name: "go-previous") do
|
|
136
|
+
@canvas.move_to_previous_if_can
|
|
137
|
+
end
|
|
138
|
+
build_action("NextSlide",
|
|
139
|
+
update_enabled: lambda {@canvas.have_next_slide?},
|
|
140
|
+
label: _("Next slide"),
|
|
141
|
+
icon_name: "go-next") do
|
|
142
|
+
@canvas.move_to_next_if_can
|
|
143
|
+
end
|
|
144
|
+
build_action("PreviousSlide",
|
|
145
|
+
update_enabled: lambda {@canvas.have_previous_slide?},
|
|
146
|
+
label: _("Previous slide"),
|
|
147
|
+
icon_name: "go-previous") do
|
|
148
|
+
@canvas.move_to_previous_if_can
|
|
149
|
+
end
|
|
150
|
+
build_action("FirstSlide",
|
|
151
|
+
update_enabled: lambda {not @canvas.first_slide?},
|
|
152
|
+
label: _("First slide"),
|
|
153
|
+
icon_name: "go-first") do
|
|
154
|
+
@canvas.move_to_first
|
|
155
|
+
end
|
|
156
|
+
build_action("LastSlide",
|
|
157
|
+
update_enabled: lambda {not @canvas.last_slide?},
|
|
158
|
+
label: _("Last slide"),
|
|
159
|
+
icon_name: "go-last") do
|
|
160
|
+
@canvas.move_to_last
|
|
161
|
+
end
|
|
162
|
+
build_action("JumpToSlide",
|
|
163
|
+
parameter_type: "i",
|
|
164
|
+
label: _("Jump to slide"),
|
|
165
|
+
icon_name: "go-jump") do |action, index|
|
|
166
|
+
@canvas.move_to_if_can(index)
|
|
167
|
+
end
|
|
168
|
+
build_action("JumpToRelativeSlide",
|
|
169
|
+
parameter_type: "i",
|
|
170
|
+
label: _("Jump to relative slide"),
|
|
171
|
+
icon_name: "go-jump") do |action, index|
|
|
172
|
+
@canvas.move_to_if_can(@canvas.current_index + index)
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def build_output_actions
|
|
177
|
+
build_action("SaveAsImage",
|
|
178
|
+
update_enabled: lambda {not @canvas.processing?},
|
|
179
|
+
label: _("Save as image"),
|
|
180
|
+
icon_name: "document-save") do
|
|
181
|
+
@canvas.save_as_image
|
|
182
|
+
end
|
|
183
|
+
build_action("Print",
|
|
184
|
+
update_enabled: lambda {not @canvas.processing?},
|
|
185
|
+
label: _("Print"),
|
|
186
|
+
icon_name: "document-print") do
|
|
187
|
+
@canvas.print
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def build_window_actions
|
|
192
|
+
build_action("Iconify",
|
|
193
|
+
update_state: lambda {false},
|
|
194
|
+
label: _("Iconify"),
|
|
195
|
+
icon: Icon.rabbit) do
|
|
196
|
+
@canvas.iconify
|
|
197
|
+
end
|
|
198
|
+
build_action("ToggleFullscreen",
|
|
199
|
+
update_enabled: lambda {not @canvas.applying?},
|
|
200
|
+
update_state: lambda {@canvas.fullscreen?},
|
|
201
|
+
label: _("Fullscreen"),
|
|
202
|
+
icon_name: "view-fullscreen") do
|
|
203
|
+
@canvas.toggle_fullscreen
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
def build_theme_actions
|
|
208
|
+
build_action("ChangeTheme",
|
|
209
|
+
parameter_type: "s",
|
|
210
|
+
update_enabled: lambda {not @canvas.applying?},
|
|
211
|
+
label: _("Change theme")) do |action, name|
|
|
212
|
+
@canvas.apply_theme(name)
|
|
213
|
+
end
|
|
214
|
+
build_action("MergeTheme",
|
|
215
|
+
parameter_type: "s",
|
|
216
|
+
update_enabled: lambda {not @canvas.applying?},
|
|
217
|
+
label: _("Merge theme")) do |action, name|
|
|
218
|
+
@canvas.merge_theme(name)
|
|
219
|
+
end
|
|
220
|
+
build_action("ReloadTheme",
|
|
221
|
+
update_enabled: lambda {not @canvas.applying?},
|
|
222
|
+
label: _("Reload theme"),
|
|
223
|
+
icon_name: "view-refresh") do
|
|
224
|
+
@canvas.reload_theme
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
def build_view_actions
|
|
229
|
+
build_action("Redraw",
|
|
230
|
+
label: _("Redraw"),
|
|
231
|
+
icon_name: "view-refresh") do
|
|
232
|
+
@canvas.redraw
|
|
233
|
+
end
|
|
234
|
+
build_action("CacheAllSlides",
|
|
235
|
+
update_enabled: lambda {not @canvas.processing?},
|
|
236
|
+
label: _("Cache all slides")) do
|
|
237
|
+
@canvas.cache_all_slides
|
|
238
|
+
end
|
|
239
|
+
build_action("ResetAdjustment",
|
|
240
|
+
label: _("Reset adjustment"),
|
|
241
|
+
icon_name: "edit-clear") do
|
|
242
|
+
@canvas.rest_adjustment
|
|
243
|
+
end
|
|
244
|
+
build_action("ResetTimer",
|
|
245
|
+
label: _("Reset timer"),
|
|
246
|
+
icon_name: "edit-clear") do
|
|
247
|
+
@canvas.reset_timer
|
|
248
|
+
end
|
|
249
|
+
build_action("ToggleSpotlight",
|
|
250
|
+
update_state: lambda {@canvas.spotlighting?},
|
|
251
|
+
label: _("Spotlight")) do |action|
|
|
252
|
+
@canvas.toggle_spotlight
|
|
253
|
+
action.update
|
|
254
|
+
end
|
|
255
|
+
build_action("ToggleMagnifier",
|
|
256
|
+
update_state: lambda {@canvas.magnifying?},
|
|
257
|
+
label: _("Magnifier")) do |action|
|
|
258
|
+
@canvas.toggle_magnifier
|
|
259
|
+
action.update
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
def graffiti_available?
|
|
264
|
+
@canvas.graffiti_mode? or @canvas.have_graffiti?
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
def build_graffiti_actions
|
|
268
|
+
build_action("ToggleGraffitiMode",
|
|
269
|
+
initial_state: false,
|
|
270
|
+
update_state: lambda {@canvas.graffiti_mode?},
|
|
271
|
+
label: _("Graffiti mode")) do |action|
|
|
272
|
+
@canvas.toggle_graffiti_mode
|
|
273
|
+
action.update
|
|
274
|
+
end
|
|
275
|
+
build_action("ClearGraffiti",
|
|
276
|
+
update_enabled: lambda {graffiti_available?},
|
|
277
|
+
label: _("Clear graffiti"),
|
|
278
|
+
icon_name: "edit-clear") do
|
|
279
|
+
@canvas.clear_graffiti
|
|
280
|
+
end
|
|
281
|
+
build_action("UndoGraffiti",
|
|
282
|
+
update_enabled: lambda {graffiti_available?},
|
|
283
|
+
label: _("Undo graffiti"),
|
|
284
|
+
icon_name: "edit-undo") do
|
|
285
|
+
@canvas.undo_graffiti
|
|
286
|
+
end
|
|
287
|
+
build_action("ChangeGraffitiColor",
|
|
288
|
+
update_enabled: lambda {graffiti_available?},
|
|
289
|
+
label: _("Change graffiti color")) do
|
|
290
|
+
@canvas.change_graffiti_color
|
|
291
|
+
end
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
def build_content_actions
|
|
295
|
+
build_action("ClearSlide",
|
|
296
|
+
label: _("Clear slide"),
|
|
297
|
+
icon_name: "edit-clear") do
|
|
298
|
+
@canvas.clear_slide
|
|
299
|
+
end
|
|
300
|
+
build_action("ToggleIndexMode",
|
|
301
|
+
update_enabled: lambda {not @canvas.processing?},
|
|
302
|
+
update_state: lambda {@canvas.index_mode?},
|
|
303
|
+
label: _("Index mode")) do |action|
|
|
304
|
+
@canvas.toggle_index_mode
|
|
305
|
+
action.update
|
|
306
|
+
end
|
|
307
|
+
build_action("ToggleInfoWindow",
|
|
308
|
+
update_state: lambda {@canvas.info_window_showing?},
|
|
309
|
+
label: _("Information window")) do |action|
|
|
310
|
+
@canvas.toggle_info_window
|
|
311
|
+
action.update
|
|
312
|
+
end
|
|
313
|
+
build_action("ToggleTerminal",
|
|
314
|
+
update_state: lambda {@canvas.in_terminal?},
|
|
315
|
+
label: _("Terminal")) do
|
|
316
|
+
@canvas.toggle_terminal
|
|
317
|
+
end
|
|
318
|
+
build_action("ChangeBlankMode",
|
|
319
|
+
parameter_type: "s",
|
|
320
|
+
initial_state: "show",
|
|
321
|
+
label: _("Change blank mode")) do |action, parameter|
|
|
322
|
+
case parameter
|
|
323
|
+
when "show"
|
|
324
|
+
if @canvas.whiteouting?
|
|
325
|
+
@canvas.toggle_whiteout
|
|
326
|
+
elsif @canvas.blackouting?
|
|
327
|
+
@canvas.toggle_blackout
|
|
328
|
+
end
|
|
329
|
+
when "whiteout"
|
|
330
|
+
@canvas.toggle_whiteout
|
|
331
|
+
when "blackout"
|
|
332
|
+
@canvas.toggle_blackout
|
|
333
|
+
end
|
|
334
|
+
action.change_state(parameter)
|
|
335
|
+
end
|
|
336
|
+
build_action("ToggleWhiteout",
|
|
337
|
+
update_state: lambda {@canvas.whiteouting?},
|
|
338
|
+
label: _("Whiteout")) do
|
|
339
|
+
if @canvas.whiteouting?
|
|
340
|
+
self["ChangeBlankMode"]&.trigger("show")
|
|
341
|
+
else
|
|
342
|
+
self["ChangeBlankMode"]&.trigger("whiteout")
|
|
343
|
+
end
|
|
344
|
+
end
|
|
345
|
+
build_action("ToggleBlackout",
|
|
346
|
+
update_state: lambda {@canvas.blackouting?},
|
|
347
|
+
label: _("Blackout")) do
|
|
348
|
+
if @canvas.blackouting?
|
|
349
|
+
self["ChangeBlankMode"]&.trigger("show")
|
|
350
|
+
else
|
|
351
|
+
self["ChangeBlankMode"]&.trigger("blackout")
|
|
352
|
+
end
|
|
353
|
+
end
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
def build_hole_actions
|
|
357
|
+
build_action("ExpandHole",
|
|
358
|
+
label: _("Expand hole")) do
|
|
359
|
+
@canvas.expand_hole
|
|
360
|
+
end
|
|
361
|
+
build_action("NarrowHole",
|
|
362
|
+
label: _("Narrow hole")) do
|
|
363
|
+
@canvas.narrow_hole
|
|
364
|
+
end
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
def build_search_actions
|
|
368
|
+
build_action("SearchSlideForward",
|
|
369
|
+
update_enabled: lambda {not @canvas.searching?},
|
|
370
|
+
label: _("Search slide forward"),
|
|
371
|
+
icon_name: "system-search") do
|
|
372
|
+
@canvas.search_slide(true)
|
|
373
|
+
update_status
|
|
374
|
+
end
|
|
375
|
+
build_action("SearchSlideBackward",
|
|
376
|
+
update_enabled: lambda {not @canvas.searching?},
|
|
377
|
+
label: _("Search slide backward"),
|
|
378
|
+
icon_name: "system-search") do
|
|
379
|
+
@canvas.search_slide(false)
|
|
380
|
+
update_status
|
|
381
|
+
end
|
|
382
|
+
build_action("SearchSlideForwardNext",
|
|
383
|
+
update_enabled: lambda {@canvas.searching?},
|
|
384
|
+
label: _("Search slide forward next"),
|
|
385
|
+
icon_name: "system-search") do
|
|
386
|
+
@canvas.search_slide(true)
|
|
387
|
+
update_status
|
|
388
|
+
end
|
|
389
|
+
build_action("SearchSlideBackwardNext",
|
|
390
|
+
update_enabled: lambda {@canvas.searching?},
|
|
391
|
+
label: _("Search slide backward next"),
|
|
392
|
+
icon_name: "system-search") do
|
|
393
|
+
@canvas.search_slide(false)
|
|
394
|
+
update_status
|
|
395
|
+
end
|
|
396
|
+
build_action("StopSlideSearch",
|
|
397
|
+
update_enabled: lambda {@canvas.searching?},
|
|
398
|
+
label: _("Stop search slide"),
|
|
399
|
+
icon_name: "system-search") do
|
|
400
|
+
@canvas.stop_search_slide
|
|
401
|
+
update_status
|
|
402
|
+
end
|
|
403
|
+
end
|
|
404
|
+
|
|
405
|
+
def build_log_level_actions
|
|
406
|
+
initial_state = Logger::Severity.name(Rabbit.logger.level)
|
|
407
|
+
build_action("ChangeLogLevel",
|
|
408
|
+
parameter_type: "s",
|
|
409
|
+
initial_state: initial_state,
|
|
410
|
+
label: _("Change log level")) do |action, parameter|
|
|
411
|
+
Rabbit.logger.level = Logger::Severity.level(parameter)
|
|
412
|
+
action.change_state(parameter)
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
def build_quit_actions
|
|
417
|
+
build_action("Quit",
|
|
418
|
+
label: _("Quit"),
|
|
419
|
+
icon_name: "application-exit") do
|
|
420
|
+
if !@canvas.processing? or
|
|
421
|
+
@canvas.confirm(_("Now processing... Do you really quit?"))
|
|
422
|
+
@canvas.quit
|
|
423
|
+
end
|
|
424
|
+
end
|
|
425
|
+
end
|
|
426
|
+
end
|
|
427
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Copyright (C) 2012-2025 Sutou Kouhei <kou@cozmixng.org>
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require_relative "path-manipulatable"
|
|
18
|
+
require_relative "rabbit"
|
|
19
|
+
require_relative "yaml-loader"
|
|
20
|
+
|
|
21
|
+
module Rabbit
|
|
22
|
+
class AuthorConfiguration
|
|
23
|
+
include GetText
|
|
24
|
+
include PathManipulatable
|
|
25
|
+
|
|
26
|
+
attr_accessor :name, :email, :markup_language
|
|
27
|
+
attr_accessor :rubygems_user, :slideshare_user, :speaker_deck_user
|
|
28
|
+
def initialize
|
|
29
|
+
clear
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def load
|
|
33
|
+
return unless File.exist?(path)
|
|
34
|
+
conf = YAMLLoader.load(File.read(path))
|
|
35
|
+
clear
|
|
36
|
+
merge!(conf)
|
|
37
|
+
rescue
|
|
38
|
+
format = _("Failed to read author configuration: %s: %s")
|
|
39
|
+
Rabbit.logger.error(format % [path, $!.message])
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def save
|
|
43
|
+
create_directory(File.dirname(path))
|
|
44
|
+
create_file(path) do |conf_file|
|
|
45
|
+
conf_file.print(to_yaml)
|
|
46
|
+
end
|
|
47
|
+
rescue
|
|
48
|
+
format = _("Failed to write author configuration: %s: %s")
|
|
49
|
+
Rabbit.logger.error(format % [path, $!.message])
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def clear
|
|
53
|
+
@markup_language = nil
|
|
54
|
+
@name = nil
|
|
55
|
+
@email = nil
|
|
56
|
+
@rubygems_user = nil
|
|
57
|
+
@slideshare_user = nil
|
|
58
|
+
@speaker_deck_user = nil
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def merge!(conf)
|
|
62
|
+
@markup_language = conf["markup_language"] || @markup_language
|
|
63
|
+
@name = conf["name"] || @name
|
|
64
|
+
@email = conf["email"] || @email
|
|
65
|
+
@rubygems_user = conf["rubygems_user"] || @rubygems_user
|
|
66
|
+
@slideshare_user = conf["slideshare_user"] || @slideshare_user
|
|
67
|
+
@speaker_deck_user = conf["speaker_deck_user"] || @spearker_deck_user
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def to_hash
|
|
71
|
+
{
|
|
72
|
+
"markup_language" => @markup_language,
|
|
73
|
+
"name" => @name,
|
|
74
|
+
"email" => @email,
|
|
75
|
+
"rubygems_user" => @rubygems_user,
|
|
76
|
+
"slideshare_user" => @slideshare_user,
|
|
77
|
+
"speaker_deck_user" => @speaker_deck_user,
|
|
78
|
+
}
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def to_yaml
|
|
82
|
+
to_hash.to_yaml
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
private
|
|
86
|
+
def path
|
|
87
|
+
File.expand_path("~/.rabbit/author.yaml")
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|