1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * Copyright (c) 2006-2014 DMDirc Developers
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
- package com.dmdirc.addons.windowstatus;
-
- import com.dmdirc.config.prefs.PluginPreferencesCategory;
- import com.dmdirc.config.prefs.PreferencesCategory;
- import com.dmdirc.config.prefs.PreferencesDialogModel;
- import com.dmdirc.config.prefs.PreferencesSetting;
- import com.dmdirc.config.prefs.PreferencesType;
- import com.dmdirc.plugins.PluginInfo;
- import com.dmdirc.plugins.implementations.BasePlugin;
-
- import dagger.ObjectGraph;
-
- /**
- * Displays information related to the current window in the status bar.
- */
- public class WindowStatusPlugin extends BasePlugin {
-
- /** Plugin info. */
- private final PluginInfo pluginInfo;
- /** Nick colour manager. */
- private WindowStatusManager windowStatusManager;
-
- public WindowStatusPlugin(final PluginInfo pluginInfo) {
- this.pluginInfo = pluginInfo;
- }
-
- @Override
- public void load(final PluginInfo pluginInfo, final ObjectGraph graph) {
- super.load(pluginInfo, graph);
- setObjectGraph(graph.plus(new WindowStatusModule(pluginInfo)));
- windowStatusManager = getObjectGraph().get(WindowStatusManager.class);
- }
-
- @Override
- public void onLoad() {
- super.onLoad();
- windowStatusManager.onLoad();
- }
-
- @Override
- public void onUnload() {
- super.onUnload();
- windowStatusManager.onUnload();
- }
-
- @Override
- public void showConfig(final PreferencesDialogModel manager) {
- final PreferencesCategory category = new PluginPreferencesCategory(
- pluginInfo, "Window status", "");
-
- category.addSetting(new PreferencesSetting(PreferencesType.BOOLEAN,
- pluginInfo.getDomain(), "channel.shownone", "Show 'none' count",
- "Should the count for users with no state be shown?",
- manager.getConfigManager(), manager.getIdentity()));
- category.addSetting(new PreferencesSetting(PreferencesType.TEXT,
- pluginInfo.getDomain(), "channel.noneprefix", "'None' count prefix",
- "The Prefix to use when showing the 'none' count",
- manager.getConfigManager(), manager.getIdentity()));
- category.addSetting(new PreferencesSetting(PreferencesType.BOOLEAN,
- pluginInfo.getDomain(), "client.showname", "Show real name",
- "Should the realname for clients be shown if known?",
- manager.getConfigManager(), manager.getIdentity()));
-
- manager.getCategory("Plugins").addSubCategory(category);
- }
-
- }
|