Add copyright headers to all .cs files
[pdfmod:pdfmod.git] / src / PdfMod / Main.cs
1 // Copyright (C) 2009 Novell, Inc.
2 // Copyright (C) 2009 Łukasz Jernaś
3 //
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17
18 using System;
19 using System.IO;
20
21 using Mono.Unix;
22 using Hyena;
23
24 namespace PdfMod
25 {
26     public static class PdfMod
27     {
28         public static void Main (string[] args)
29         {
30             ApplicationContext.TrySetProcessName ("pdfmod");
31             Gdk.Global.ProgramClass = "pdfmod";
32             Log.Debugging = true;
33             Log.DebugFormat ("Starting PdfMod");
34
35             InitCatalog ("/usr/local/share/locale/", Core.Defines.PREFIX + "/share/locale/");
36
37             // TODO could have a command line client here by checking CommandLine.Contains ("--headless") or something,
38             // and implementing a subclass of Core.Client that does the rotate/remove/extract actions
39             new Gui.Client (true);
40         }
41
42         private static void InitCatalog (params string [] dirs)
43         {
44             foreach (var dir in dirs) {
45                 var test_file = Path.Combine (dir, "fr/LC_MESSAGES/pdfmod.mo");
46                 if (File.Exists (test_file)) {
47                     Log.DebugFormat ("Initializing i18n catalog from {0}", dir);
48                     Catalog.Init ("pdfmod", dir);
49                     break;
50                 }
51             }
52         }
53     }
54 }