Implementing sorting of starred messages. Code refactoring.

This commit is contained in:
Arnukk 2013-11-17 00:54:29 +04:00
parent 2062c9e0f1
commit 295042eefe
8 changed files with 554 additions and 41 deletions

16
.idea/PyBitmessage.iml Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="myDocStringFormat" value="Plain" />
</component>
<component name="TestRunnerService">
<option name="projectConfiguration" value="Unittests" />
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
</component>
</module>

5
.idea/encodings.xml Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>

5
.idea/misc.xml Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.5 (/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7)" project-jdk-type="Python SDK" />
</project>

9
.idea/modules.xml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/PyBitmessage.iml" filepath="$PROJECT_DIR$/.idea/PyBitmessage.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,5 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>

7
.idea/vcs.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

478
.idea/workspace.xml Normal file
View File

@ -0,0 +1,478 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="0aa79bef-9e18-44a2-a1d3-4500168a4d2b" name="Default" comment="Implementing sorting of starred messages. Code refactoring.">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" />
</list>
<ignored path="PyBitmessage.iws" />
<ignored path=".idea/workspace.xml" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/PyBitmessage$bitmessagemain.coverage" NAME="bitmessagemain Coverage Results" MODIFIED="1384635004146" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src" />
</component>
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="PyBitmessage" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="__init__.py" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/bitmessageqt/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state line="813" column="59" selection-start="42996" selection-end="42996" vertical-scroll-proportion="0.33333334" vertical-offset="11860" max-vertical-offset="55140">
<folding>
<element signature="e#228#251#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bitmessageui.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/bitmessageqt/bitmessageui.py">
<provider selected="true" editor-type-id="text-editor">
<state line="613" column="13" selection-start="41233" selection-end="41257" vertical-scroll-proportion="-12.92" vertical-offset="8872" max-vertical-offset="9915">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bitmessagemain.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/bitmessagemain.py">
<provider selected="true" editor-type-id="text-editor">
<state line="1001" column="35" selection-start="54451" selection-end="54451" vertical-scroll-proportion="0.0" vertical-offset="14773" max-vertical-offset="15990">
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="false" />
</FindUsagesManager>
</component>
<component name="Git.Settings">
<option name="UPDATE_TYPE" value="MERGE" />
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="GitLogSettings">
<option name="myDateState">
<MyDateState />
</option>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/src/bitmessageqt/bitmessageui.py" />
<option value="$PROJECT_DIR$/src/bitmessagemain.py" />
<option value="$PROJECT_DIR$/src/bitmessageqt/__init__.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="56" />
<option name="y" value="29" />
<option name="width" value="2489" />
<option name="height" value="1378" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="2" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="PyBitmessage" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="bitmessageqt" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="recentsLimit" value="5" />
</component>
<component name="RunManager" selected="Python.bitmessagemain">
<configuration default="false" name="bitmessagemain" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/bitmessagemain.py" />
<option name="PARAMETERS" value="" />
<RunnerSettings RunnerId="PythonRunner" />
<ConfigurationWrapper RunnerId="PythonRunner" />
<method />
</configuration>
<configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="TARGET" value="" />
<option name="SETTINGS_FILE" value="" />
<option name="CUSTOM_SETTINGS" value="false" />
<option name="USE_OPTIONS" value="false" />
<option name="OPTIONS" value="" />
<method />
</configuration>
<configuration default="true" type="tests" factoryName="py.test">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" />
<option name="testToRun" value="" />
<option name="keywords" value="" />
<option name="params" value="" />
<option name="USE_PARAM" value="false" />
<option name="USE_KEYWORD" value="false" />
<method />
</configuration>
<configuration default="true" type="tests" factoryName="Nosetests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" />
<option name="PARAMS" value="" />
<option name="USE_PARAM" value="false" />
<method />
</configuration>
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="PARAMETERS" value="" />
<method />
</configuration>
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug" singleton="true">
<method />
</configuration>
<configuration default="true" type="tests" factoryName="Unittests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" />
<option name="PUREUNITTEST" value="true" />
<option name="PARAMS" value="" />
<option name="USE_PARAM" value="false" />
<method />
</configuration>
<configuration default="true" type="tests" factoryName="Doctests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" />
<method />
</configuration>
<configuration default="true" type="tests" factoryName="Attests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="PyBitmessage" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="" />
<option name="CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="FOLDER_NAME" value="" />
<option name="TEST_TYPE" value="TEST_SCRIPT" />
<option name="PATTERN" value="" />
<option name="USE_PATTERN" value="false" />
<method />
</configuration>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="Python.bitmessagemain" />
</list>
<recent_temporary>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="Python.bitmessagemain" />
</list>
</recent_temporary>
</component>
<component name="ShelveChangesManager" show_recycled="false" />
<component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false" SSL_PROTOCOLS="sslv3">
<option name="USER" value="" />
<option name="PASSWORD" value="" />
<option name="mySSHConnectionTimeout" value="30000" />
<option name="mySSHReadTimeout" value="30000" />
<option name="LAST_MERGED_REVISION" />
<option name="MERGE_DRY_RUN" value="false" />
<option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
<option name="UPDATE_LOCK_ON_DEMAND" value="false" />
<option name="IGNORE_SPACES_IN_MERGE" value="false" />
<option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
<option name="FORCE_UPDATE" value="false" />
<option name="IGNORE_EXTERNALS" value="false" />
<myIsUseDefaultProxy>false</myIsUseDefaultProxy>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="0aa79bef-9e18-44a2-a1d3-4500168a4d2b" name="Default" comment="" />
<created>1383738823543</created>
<updated>1383738823543</updated>
</task>
<task id="LOCAL-00001" summary="Implementing sorting of starred messages. Code refactoring.">
<created>1384635076980</created>
<updated>1384635076980</updated>
</task>
<option name="localTasksCounter" value="2" />
<servers />
</component>
<component name="ToolWindowManager">
<frame x="56" y="29" width="2489" height="1378" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.16534181" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25787964" sideWeight="0.8513514" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.14864865" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298887" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<option name="myTodoPanelSettings">
<TodoPanelSettings />
</option>
<MESSAGE value="Implementing sorting of starred messages. Code refactoring." />
<option name="LAST_COMMIT_MESSAGE" value="Implementing sorting of starred messages. Code refactoring." />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/bitmessagemain.py">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="19" selection-start="1254" selection-end="1254" vertical-scroll-proportion="0.0" vertical-offset="1125" max-vertical-offset="15990">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/bitmessagemain.py">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="19" selection-start="1254" selection-end="1254" vertical-scroll-proportion="0.0" vertical-offset="1125" max-vertical-offset="15990">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/bitmessagemain.py">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="19" selection-start="1254" selection-end="1254" vertical-scroll-proportion="0.0" vertical-offset="600" max-vertical-offset="15990">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/bitmessagemain.py">
<provider selected="true" editor-type-id="text-editor">
<state line="36" column="18" selection-start="1190" selection-end="1190" vertical-scroll-proportion="0.0" vertical-offset="540" max-vertical-offset="15990">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/bitmessageqt/bitmessageui.py">
<provider selected="true" editor-type-id="text-editor">
<state line="613" column="13" selection-start="41233" selection-end="41257" vertical-scroll-proportion="-12.92" vertical-offset="8872" max-vertical-offset="9915">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/bitmessagemain.py">
<provider selected="true" editor-type-id="text-editor">
<state line="1001" column="35" selection-start="54451" selection-end="54451" vertical-scroll-proportion="0.0" vertical-offset="14773" max-vertical-offset="15990">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/bitmessageqt/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state line="813" column="59" selection-start="42996" selection-end="42996" vertical-scroll-proportion="0.33333334" vertical-offset="11860" max-vertical-offset="55140">
<folding>
<element signature="e#228#251#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View File

@ -38,6 +38,7 @@ from debug import logger
import subprocess
import datetime
from helper_sql import *
import functools
try:
from PyQt4 import QtCore, QtGui
@ -278,9 +279,9 @@ class MyForm(QtGui.QMainWindow):
self.actionMarkUnread = self.ui.inboxContextMenuToolbar.addAction(_translate(
"MainWindow", "Mark Unread"), self.on_action_InboxMarkUnread)
self.actionAddStar = self.ui.inboxContextMenuToolbar.addAction(_translate(
"MainWindow", "Add Star"), self.on_action_InboxAddStar)
"MainWindow", "Star"), functools.partial(self.on_action_AddStar, "inbox", self.ui.tableWidgetInbox, self.loadInbox))
self.actionRemoveStar = self.ui.inboxContextMenuToolbar.addAction(_translate(
"MainWindow", "Remove Star"), self.on_action_InboxRemoveStar)
"MainWindow", "Unstar"), functools.partial(self.on_action_RemoveStar, "inbox", self.ui.tableWidgetInbox, self.loadInbox))
self.ui.tableWidgetInbox.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
@ -396,9 +397,9 @@ class MyForm(QtGui.QMainWindow):
'customContextMenuRequested(const QPoint&)'), self.on_context_menuSent)
self.actionSentAddStar = self.ui.sentContextMenuToolbar.addAction(_translate(
"MainWindow", "Add Star"), self.on_action_SentAddStar)
"MainWindow", "Star"), functools.partial(self.on_action_AddStar, "sent", self.ui.tableWidgetSent, self.loadSent))
self.actionSentRemoveStar = self.ui.sentContextMenuToolbar.addAction(_translate(
"MainWindow", "Remove Star"), self.on_action_SentRemoveStar)
"MainWindow", "Unstar"), functools.partial(self.on_action_RemoveStar, "sent", self.ui.tableWidgetSent, self.loadSent))
# self.popMenuSent = QtGui.QMenu( self )
# self.popMenuSent.addAction( self.actionSentClipboard )
@ -807,14 +808,14 @@ class MyForm(QtGui.QMainWindow):
newItem.setFlags(
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
self.ui.tableWidgetSent.setItem(0, 3, newItem)
newItem = QtGui.QTableWidgetItem(str(starred))
#starred
if starred == 1:
iconStar = QtGui.QIcon(":/newPrefix/images/star1.png")
newItem = QtGui.QTableWidgetItem(u"\u200B")
else:
iconStar = QtGui.QIcon(":/newPrefix/images/star2.png")
newItem = QtGui.QTableWidgetItem()
newItem.setIcon(iconStar)
newItem.setForeground(Qt.white)
self.ui.tableWidgetSent.setItem(0, 4, newItem)
self.ui.tableWidgetSent.sortItems(3, Qt.DescendingOrder)
@ -930,18 +931,14 @@ class MyForm(QtGui.QMainWindow):
if not read:
newItem.setFont(font)
self.ui.tableWidgetInbox.setItem(0, 3, newItem)
newItem = QtGui.QTableWidgetItem()
#starred
if starred == 1:
iconStar = QtGui.QIcon(":/newPrefix/images/star1.png")
newItem = QtGui.QTableWidgetItem(u"\u200B")
else:
iconStar = QtGui.QIcon(":/newPrefix/images/star2.png")
newItem.setData(Qt.UserRole, str(starred))
newItem = QtGui.QTableWidgetItem()
newItem.setIcon(iconStar)
newItem.setForeground(Qt.white)
if not read:
newItem.setFont(font)
self.ui.tableWidgetInbox.setItem(0, 4, newItem)
self.ui.tableWidgetInbox.sortItems(3, Qt.DescendingOrder)
@ -2494,38 +2491,29 @@ class MyForm(QtGui.QMainWindow):
content = content.replace('\n\n', '<br><br>')
self.ui.textEditInboxMessage.setHtml(QtCore.QString(content))
def on_action_InboxAddStar(self):
currentRow = self.ui.tableWidgetInbox.currentRow()
inventoryHashToAddStar = str(self.ui.tableWidgetInbox.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
sqlExecute('''UPDATE inbox SET starred=1 WHERE msgid=?''', inventoryHashToAddStar)
def on_action_AddStar(self, dbTableName, TableWidget, LoadFunction):
self.loadInbox()
for i in TableWidget.selectedItems()[0::TableWidget.columnCount()]:
selectedRowNumber = TableWidget.row(i)
inventoryHashToAddStar = str(TableWidget.item(selectedRowNumber, 3).data(Qt.UserRole).toPyObject())
if dbTableName == "inbox":
sqlExecute('''UPDATE inbox SET starred=1 WHERE msgid=?''', inventoryHashToAddStar)
elif dbTableName == "sent":
sqlExecute('''UPDATE sent SET starred=1 WHERE ackdata=?''', inventoryHashToAddStar)
def on_action_InboxRemoveStar(self):
currentRow = self.ui.tableWidgetInbox.currentRow()
inventoryHashToRemoveStar = str(self.ui.tableWidgetInbox.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
sqlExecute('''UPDATE inbox SET starred=0 WHERE msgid=?''', inventoryHashToRemoveStar)
LoadFunction()
self.loadInbox()
def on_action_RemoveStar(self, dbTableName, TableWidget, LoadFunction):
def on_action_SentAddStar(self):
currentRow = self.ui.tableWidgetSent.currentRow()
for i in TableWidget.selectedItems()[0::TableWidget.columnCount()]:
selectedRowNumber = TableWidget.row(i)
inventoryHashToRemoveStar = str(TableWidget.item(selectedRowNumber, 3).data(Qt.UserRole).toPyObject())
if dbTableName == "inbox":
sqlExecute('''UPDATE inbox SET starred=0 WHERE msgid=?''', inventoryHashToRemoveStar)
elif dbTableName == "sent":
sqlExecute('''UPDATE sent SET starred=0 WHERE ackdata=?''', inventoryHashToRemoveStar)
ackdataToAddStar = str(self.ui.tableWidgetSent.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
sqlExecute('''UPDATE sent SET starred=1 WHERE ackdata=?''', ackdataToAddStar)
self.loadSent()
def on_action_SentRemoveStar(self):
currentRow = self.ui.tableWidgetSent.currentRow()
ackdataToRemoveStar = str(self.ui.tableWidgetSent.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
sqlExecute('''UPDATE sent SET starred=0 WHERE ackdata=?''', ackdataToRemoveStar)
self.loadSent()
LoadFunction()
def on_action_InboxMarkUnread(self):
font = QFont()