8f280ed884
This adds a new commandline option --read-only (or -r). It's implemented according to the behavior agreed on on the mailing list: --read-only applies to all files on the command line irrespective of positioning and has no effect on any other files opened by session or menu (...) Current behaviour on attempting to re-open a file with different read-only status is that nothing happens, the already open file is raised but not changed. (...)
72 lines
2.1 KiB
C
72 lines
2.1 KiB
C
/*
|
|
* main.h - this file is part of Geany, a fast and lightweight IDE
|
|
*
|
|
* Copyright 2006-2011 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
|
|
* Copyright 2006-2011 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
|
|
#ifndef GEANY_MAIN_H
|
|
#define GEANY_MAIN_H
|
|
|
|
typedef struct
|
|
{
|
|
gboolean new_instance;
|
|
gchar *socket_filename;
|
|
gboolean load_session;
|
|
gint goto_line;
|
|
gint goto_column;
|
|
gboolean ignore_global_tags;
|
|
gboolean list_documents;
|
|
gboolean readonly;
|
|
}
|
|
CommandLineOptions;
|
|
|
|
extern CommandLineOptions cl_options;
|
|
|
|
|
|
typedef struct GeanyStatus
|
|
{
|
|
gboolean opening_session_files; /* state at startup while opening session files */
|
|
gboolean closing_all; /* the state while closing all tabs
|
|
* (used to prevent notebook switch page signals) */
|
|
gboolean quitting; /* state when Geany is quitting completely */
|
|
gboolean main_window_realized;
|
|
}
|
|
GeanyStatus;
|
|
|
|
extern GeanyStatus main_status;
|
|
|
|
|
|
const gchar *main_get_version_string(void);
|
|
|
|
gchar *main_get_argv_filename(const gchar *filename);
|
|
|
|
void main_quit(void);
|
|
|
|
gboolean main_handle_filename(const gchar *locale_filename);
|
|
|
|
void main_reload_configuration(void);
|
|
|
|
void main_locale_init(const gchar *locale_dir, const gchar *gettext_package);
|
|
|
|
gboolean main_is_realized(void);
|
|
|
|
void main_load_project_from_command_line(const gchar *locale_filename, gboolean use_session);
|
|
|
|
#endif
|