OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PluginsDialog.cpp File Reference
#include "PluginsDialog.hpp"
#include "GUI.hpp"
#include "GUI_App.hpp"
#include "slic3r/Utils/NetworkAgent.hpp"
#include "I18N.hpp"
#include "OrcaCloudServiceAgent.hpp"
#include "slic3r/plugin/PluginConfig.hpp"
#include "slic3r/plugin/PluginFsUtils.hpp"
#include "slic3r/plugin/PluginManager.hpp"
#include <cctype>
#include <exception>
#include <atomic>
#include <boost/filesystem/operations.hpp>
#include <chrono>
#include <libslic3r/Utils.hpp>
#include <slic3r/GUI/NotificationManager.hpp>
#include <slic3r/GUI/Plater.hpp>
#include "slic3r/GUI/PluginSource.hpp"
#include "slic3r/GUI/PluginStatus.hpp"
#include "slic3r/GUI/Widgets/WebViewHostDialog.hpp"
#include "slic3r/GUI/PluginSort.hpp"
#include <slic3r/GUI/format.hpp>
#include <slic3r/plugin/PluginDescriptor.hpp>
#include <slic3r/plugin/PythonPluginInterface.hpp>
#include <boost/filesystem.hpp>
#include <boost/log/trivial.hpp>
#include <algorithm>
#include <memory>
#include <mutex>
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
#include <wx/busycursor.h>
#include <wx/dialog.h>
#include <wx/event.h>
#include <wx/filedlg.h>
#include <wx/gdicmn.h>
#include <wx/msgdlg.h>
#include <wx/progdlg.h>
#include <wx/string.h>
#include <wx/timer.h>
#include <wx/utils.h>
#include <nlohmann/json.hpp>
Include dependency graph for PluginsDialog.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginContextAction
struct  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginAvailableActions
struct  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginCapabilityView
struct  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginChangelogView
struct  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginDialogItem
struct  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginOperationState

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::GUI
namespace  Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}

Functions

PluginCapabilityType Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::primary_capability_type_of (PluginManager &manager, const std::string &plugin_key)
PluginDescriptor Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::as_cloud_only_descriptor (PluginDescriptor descriptor)
std::string Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::to_string (PluginUpdateStatus status)
nlohmann::json Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::build_context_actions_payload (const PluginAvailableActions &available_actions)
nlohmann::json Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::build_plugin_payload_item (const PluginDialogItem &dialog_item)
PluginSource Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::derive_plugin_source (const PluginDescriptor &descriptor)
PluginAvailableActions Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::evaluate_action_policy (const PluginDialogItem &item)
PluginDialogItem Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::build_plugin_dialog_item (const PluginDescriptor &descriptor)
const PluginContextAction * Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::find_context_action (const PluginAvailableActions &available_actions, const std::string &action_id)
void Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::store_plugin_operation_result (const std::shared_ptr< PluginOperationState > &state, bool succeeded, std::string error)
bool Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::take_plugin_operation_result (const std::shared_ptr< PluginOperationState > &state, std::string &error)
std::vector< PluginDescriptor > Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::current_cloud_metadata_snapshot ()
void Slic3r::GUI::refresh_plugin_metadata_blocking (bool fetch_cloud)
void Slic3r::GUI::open_plugin_hub ()
bool Slic3r::GUI::install_local_plugin_package (const boost::filesystem::path &package_file, wxWindow *parent, wxString &message)

Variables

const wxString Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::kDeletePluginTitle = _L("Delete Plugin")
const wxString Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::kUnsubscribeTitle = _L("Unsubscribe")
const wxString Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::kOverwritePluginTitle = _L("Overwrite Plugin")
std::string Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::s_selected_plugin_install_action = "explore"
constexpr bool Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::kFetchCloudMeta = true
constexpr bool Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::kUseCurrentCloudMeta = false

Class Documentation

◆ Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginContextAction

struct Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginContextAction
Collaboration diagram for Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginContextAction:
Class Members
bool danger = false
bool enabled = true
string id
string label

◆ Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginAvailableActions

struct Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginAvailableActions
Collaboration diagram for Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginAvailableActions:
Class Members
bool can_toggle = false
vector< PluginContextAction > context_actions
bool toggle_installs_cloud_plugin = false

◆ Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginCapabilityView

struct Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginCapabilityView
Collaboration diagram for Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginCapabilityView:
Class Members
bool can_run = false
bool can_toggle = false
bool enabled = false
bool has_config_ui = false
PluginCapabilityId id

◆ Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginChangelogView

struct Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginChangelogView
Collaboration diagram for Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginChangelogView:
Class Members
string changelog
long long created_time = 0
string version

◆ Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginDialogItem

struct Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginDialogItem
Collaboration diagram for Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginDialogItem:
Class Members
string author
PluginAvailableActions available_actions
bool can_run_script = false
vector< PluginCapabilityView > capabilities
vector< PluginChangelogView > changelog
string description
string display_name
string error_text
bool has_error = false
bool has_local_package = false
bool has_script_capability = false
string installed_version
bool is_cloud_plugin = false
bool is_loaded = false
string latest_version
bool loading = false
bool orphaned = false
string plugin_id
string plugin_key
string sharing_token
string sort_version
PluginSource source = PluginSource::Local
PluginStatus status = PluginStatus::Inactive
string thumbnail_url
string type_key
string type_label
vector< string > type_labels
bool unauthorized = false
PluginUpdateStatus update_status = PluginUpdateStatus::Normal
string version

◆ Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginOperationState

struct Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginOperationState
Collaboration diagram for Slic3r::GUI::anonymous_namespace{PluginsDialog.cpp}::PluginOperationState:
Class Members
string error
mutex mutex
bool succeeded = false